Microsoft makes desktop conferencing a snap

\[Editor's Note: At press time, the current release of Microsoft Exchange 2000 Server was beta 3. Because Microsoft might have changed the product's functionality since then, read the current release's documentation carefully.\]

Many engineers learn about new technologies when they must administer Microsoft's implementation of a technology. For example, numerous people became DNS experts by installing and configuring the DNS server in Windows NT 4.0. Only later did they research the Internet Engineering Task Force (IETF) Requests for Comments (RFCs) and other implementations.

Likewise, many of us will learn about data and videoconferencing now that Microsoft is joining the conferencing fray. Until now, Microsoft's primary videoconferencing product was NetMeeting. Some conferencing vendors have integrated this software into their products. Alternatively, you can use the software as a standalone application for small conferences. (For information about NetMeeting, see L. J. Locher, "Troubleshooting with NetMeeting," page 81.)

Microsoft has added Conferencing Services in Microsoft Exchange 2000 Server (formerly code-named Platinum) to offer a full desktop conferencing solution that competes seriously with enterprise systems that cost hundreds of thousands of dollars. To use this new service, you must understand its features and architecture. (For a list of conferencing resources, see "Exchange 2000 Conferencing Resources," page 74.)

The Desktop Experience
Users must schedule data and videoconferences. To schedule a conference, you must use the Microsoft Outlook 2000 calendar interface. (In the future, other clients, such as the Web client, might offer scheduling capabilities.) For example, if I wanted to create a conference with several other people, I'd start Outlook 2000, open the Calendar folder under Outlook Today (or click the Calendar icon in the Outlook Bar), and select New Meeting Request from the Actions menu. In the Meeting window, which Screen 1, page 74, shows, I'd enter attendees, type a subject, and select start and end times.

These actions are familiar. But to use Exchange 2000's Conferencing Services, you need to select the check box This is an online meeting using: and select Microsoft Exchange Conferencing. (In Exchange 2000 beta 3 and the current release of Outlook 2000, you must add a Registry key on the client desktop to add Microsoft Exchange Conferencing to the online meeting list. You need to add a key called Exchange Conferencing to the HKEY_CURRENT_USER\Software\ Microsoft\Office\9.0\Outlook subkey, with no values. This Registry hack won't be necessary in subsequent releases.) Selecting these options changes the meeting request dialog box. As Screen 2, page 74, shows, additional fields are available. For example, you can select the Allow external attendees check box to let people other than those you've invited participate.

Before you can send the meeting request, you must select a conference resource. A conference resource is roughly equivalent to a conference room for face-to-face meetings in an office setting. The Microsoft Exchange Server administrator in charge of conferencing for users' Windows 2000 (Win2K) sites sets up conference resources.

To set up a conference resource, click To, which opens the Select Attendees and Resources dialog box. Then, select a conference resource from the Global Address List (GAL) and add the resource to the Resources field, as Screen 3 shows. Click OK to close the window. Then, click Send to forward the request to the selected invitees' mailboxes. If you selected the option to permit external attendees, clicking Send also generates an entry on a conference Web site that Microsoft Exchange Conferencing Manager Services maintains. By default, this Web site is on the computer that runs Conferencing Manager Services (every server running Exchange 2000 must run Microsoft Internet Information Server—IIS), but the location might be configurable in a later release of the software. Conferencing Manager Services monitors the conference mailbox continuously for new conferences and creates a link on the Web site that points to the conference resource when the service finds a new conference.

To join a conference, an attendee must first accept the meeting invitation. Accepting the invitation puts an entry in the attendee's Outlook 2000 calendar. Screen 4 shows the details for the meeting I organized. Note that the meeting location changed. In Screen 2, I entered Your computer as the location. However, Exchange 2000 changed the location to the URL for the Exchange 2000 Web site that Conferencing Manager Services maintains. To become part of the meeting, at the time of the conference, the participant clicks Join Conference on the toolbar.

An external attendee who wants to join the conference must go to the conference Web site (e.g., http://sswin2000/conferencing). Screen 5 shows the default page for my example Web site. To see a list of conferences you can join, click Show me the public conferences currently in session.

In my example, three conferences are available: Discuss buying limits, Australian trip, and Review party plans. Clicking the hyperlink for a conference (e.g., Australian trip) opens a browser window that contains the Exchange 2000 data and videoconferencing interface, which Screen 6, page 76, shows.

The Exchange 2000 conferencing client has three panes. The left pane contains information about the conference, including the subject, start and end times, and the organizer's name. The top right pane (i.e., the data-conferencing pane) is an embedded NetMeeting client that lists current conference participants. The bottom right pane (i.e., the videoconferencing pane) is a native Exchange 2000 application that communicates in a point-to-point fashion with the same application on other videoconference participants' desktops.

Two main differences exist between these panes and NetMeeting's interface. First, in a NetMeeting conference, data and video clients communicate with one another through the first NetMeeting client that joins the conference. Although Exchange 2000 data-conferencing uses NetMeeting, clients point to the Exchange 2000 data conferencing server rather than to the first NetMeeting participant. Second, Exchange 2000 videoconferencing doesn't use NetMeeting; instead, Exchange 2000 includes a native Telephony API (TAPI) 3.0 module that lets clients communicate directly with one another over IP multicast.

As participants join an Exchange 2000 conference, their names appear in the data-conferencing pane. In this pane, you can use NetMeeting's standard functionality. For example, you can enter a chat session, share applications with other participants, or use a joint whiteboard. If other participants have video cameras, Exchange 2000 adds their video transmissions as screens within a screen to the videoconferencing pane. The number of video windows you can see simultaneously depends on your computer's power, and you can configure the software with a number that you don't want it to exceed. To end a conference, close the browser window.

Systems Management
When a user schedules a conference, Exchange 2000 stores the conference information in two places. First, a central conference calendar mailbox stores information about a Win2K site's scheduled online conferences (e.g., date, start time, end time). Second, a set of mailboxes (i.e., the conference resources I mentioned previously) keeps information about resources that the Exchange Server administrator has made available for those conferences (e.g., maximum numbers of participants per conference, bandwidth available for each conference, image size for video). The systems administrator must set up, configure, and maintain the conference calendar mailbox and the conference resources.

You use the Windows 2000 Active Directory Users and Computers snap-in to create the conference calendar mailbox as if it were a typical mailbox. You need to select a unique name for the mailbox (e.g., Exchange ConfCalMailbox) and a unique user logon name (e.g., ExchConfCal) to distinguish the mailbox from others. When you specify the mailbox's properties, don't select Configure as an Exchange conferencing resource. You'll use this option for conference resources but not for the calendar mailbox.

After you create the mailbox, you need to associate it with an Exchange Server conferencing site. Open the Exchange System Manager, right-click Conferencing, and click Manage. Select the Win2K site to which you want to assign the conference calendar mailbox, and click OK. Then, select the conference calendar mailbox from the list, and click OK again. (If you don't see the mailbox you just created in the default list, you probably selected Configure as an Exchange conferencing resource when you created the mailbox.) After you set up a mailbox for a site, you might never need to check or open the mailbox again, except for archiving purposes.

You create conference resources on an as-needed basis. As I discussed previously, a conference resource is an Exchange Server mailbox that a user invites as a meeting resource when the user schedules an online meeting. To set up a conference resource, you again use the Windows 2000 Active Directory Users and Computers snap-in to create a typical user and mailbox.

Defining a naming convention for online conferences is a good idea so that clients can quickly identify the appropriate resources. You might use the acronym OCF to stand for Online Conference Facility, then append the site and a description of the type of resource. For example, OCF Washington (DV5) denotes an online conference in the Washington site that provides data and video for a maximum of five participants per conference.

When you create the user object and specify the associated mailbox's properties, you need to select Configure as an Exchange conferencing resource. Selecting this option adds a property page to the user object in Win2K; you need this property page to configure the resource. You might want to create a couple of resources per site at first, and add more resources as the demand for them increases.

After you create a resource, you must configure it. A resource can provide data or video services, or both. Each type of service has various parameters you can control. On the object's Properties page in the Windows 2000 Active Directory Users and Computers snap-in, select the Exchange Conference tab, as Screen 7 shows. Then, associate the Technology providers field with the resource for the site. Click Add, and select ExchangeDataConferencingProvider to provide the modified NetMeeting data-conferencing functionality through the resource, or ExchangeVideoConferencingProvider to provide point-to-point videoconferencing functionality. You can also select both options, to provide data and videoconferencing. You must then specify parameters for each option you selected. For information about the various parameters, see the online Help files and documentation. You might want to experiment with values to determine the ramifications for your users' experience and network utilization. To begin, I recommend that you accept the default settings for both options.

Even after you configure a resource to host conferences, you must give users permission to schedule online conferences on the resource. Create an Outlook profile for the resource, and use the profile to log on to Outlook. To assign permissions, select Tools, Options, Calendar Options, Resource Scheduling. In the dialog box that opens, set the Default option as Editor to let all users schedule conferences with the resource. Alternatively, add each user or user group and assign each user or group the role of Editor to let only select users schedule conferences with the resource. In addition to restricting resource use by user, you can restrict use by IP address. For information about restricting resource use by IP address, see the online Help files.

For a basic installation on a single-LAN subnet, you don't have to do any additional configuration to let your users schedule and participate in Exchange Server online conferences. In a routed environment, you need to set up and test several features at the network level to let the conferences span multiple segments. For the data conferencing to work, the relevant ports must be open on your routers. Make sure your routers don't block primary TCP connections on ports 389, 1503, 1720, or 1731, or UDP connections on dynamically assigned ports between 1024 and 65535. (For more information about this requirement, see the Microsoft article "How to Establish NetMeeting Connections Through a Firewall" at http://support.microsoft.com/ support/kb/articles/q158/6/23.asp.) For the videoconferencing to work, you need to enable IP multicasting on the routers and set up multicast scopes on your DHCP servers (i.e., enable the MADCAP service). For information about configuring these options, see Win2K's and Exchange 2000's documentation. Test your configuration on a LAN first. If the LAN works but you experience difficulties on your enterprise WAN, try addressing these network problems.

Conferencing Components
Several services and resources are involved in a conferencing system. Figure 1 shows a simple network's conferencing components.

The conference calendar mailbox and conference resource mailboxes are objects in Win2K's Active Directory (AD). You access these mailboxes through Exchange 2000 services. Exchange 2000 administrators can use Outlook 2000 to access the mailboxes.

When you install Exchange 2000, you can install two relevant services: Microsoft Exchange Conferencing Manager Services and Microsoft Exchange T.120 MCU Conferencing Services. Screen 8 shows the component selections you see during setup. (In Exchange 2000 beta 3, you can't install MCU Conferencing Services without installing Conferencing Manager Services, but this functionality is available in subsequent builds.) If you install these services, Conferencing Manager Services shows up in the list of services running on a server as Microsoft Exchange Conferencing, and MCU Conferencing Services shows up as Microsoft Exchange T.120 Conferencing. The services appear in the Microsoft Management Console (MMC) Exchange System Manager snap-in, which Screen 9 shows, and in Win2K's Control Panel Services applet, which Screen 10 shows. Despite their similar names, Conferencing Manager Services and MCU Conferencing Services perform different functions.

Conferencing Manager Services performs several scheduling and referral tasks. First, authorized clients specify conference resource mailboxes as meeting resources when they schedule online conferences. Conferencing Manager Services monitors each conference resource for clients' meeting creation, updates, and cancellations. In addition, Conferencing Manager Services maintains a synchronized meeting definition within the conference calendar mailbox. Second, Conferencing Manager Services creates and maintains an HTTP virtual server, which lists all the conferences clients can currently join (provided that the scheduler enabled the option to allow external attendees). Third, when a client attempts to join a conference, Conferencing Manager Services directs the client to the resource hosting the online meeting. In addition, if you have multiple sites with Conferencing Manager Services in each site, the services coordinate clients' conference resources so that a nearby server can temporarily accommodate a client joining a remote conference. All Conferencing Manager Services servers in an organization must be able to communicate directly with one another. However, as of Exchange 2000 beta 3, each Win2K site can have only one active instance of Conferencing Manager Services. You can install multiple instances, but only one will work.

MCU Conferencing Services performs conference-hosting tasks only for data conferences. In a data conference, all the clients see some persistent and shared data (e.g., a whiteboard, a chat session). An application must maintain this data at one point, known as the meeting host, through which all the clients communicate. In a NetMeeting conference, the first participant to start the session automatically becomes the meeting host, the NetMeeting client on that host maintains the persistent data, and the other clients connect directly to the host. In an Exchange 2000 conference, the server running MCU Conferencing Services hosts the online meeting, Exchange 2000 maintains the persistent data, and all the clients connect directly to the server. Exchange 2000 supports multiple instances of MCU Conferencing Services per instance of Conferencing Manager Services and load-balances clients across instances of MCU Conferencing Services as necessary so that one service doesn't simultaneously host all the clients in a conference. For performance reasons, Microsoft recommends having multiple instances of MCU Conferencing Services per site, as you see in Figure 1.

Finally, no server performs hosting tasks for videoconferences. All the clients in a videoconference talk directly to one another in a point-to-point manner. You specify the parameters that the video clients use for this point-to-point communication when you configure the ExchangeVideoConferencingProvider option in the conference resource. When a client joins the conference, the client obtains this information from the server but doesn't subsequently communicate with the server. The advantage of this mechanism is that you don't need to support all the video communications between users through one point on your network and stress the server and network.

One to Watch
Exchange 2000 combines the familiar paradigms of Outlook calendaring, NetMeeting data conferencing, and a browser interface to form an easy-to-use tool for desktop conferencing. The software's conferencing tool integrates with your existing infrastructure without overlaying a separate application or requiring dedicated servers or hardware. This combination is difficult to beat. The product's limitations include the lack of a comprehensive conference moderator application, the quality of your desktop video equipment, and the number of parameters you can configure for the video provider. As Microsoft and third-party vendors add features to improve desktop cameras' quality and expand server configuration options, Exchange 2000 will become more useful. Companies that sell standalone solutions costing hundreds of thousands of dollars need to carefully monitor this product's progress if they hope to compete with it.