Mobile phones are a key facet of information worker communications. Accordingly, incorporating mobility into a unified communications plan is essential for true unification of communications. Although the e-mail, instant messaging (IM), and federated telephony worlds are already becoming unified by having a single Session Initiation Protocol (SIP) address (which is typically the e-mail address) be the single point of contact for a person, this unification has not yet extended to the mobile phone space. Information workers still end up exchanging mobile phone numbers in addition to their work phone numbers as part of their contact information. This has led to a suboptimal user experience. For example, a caller from the public switched telephone network (PSTN) tries to reach a certain user by dialing the user’s office phone number. If she cannot reach the user at his office phone, she bypasses the corporate voice mail system by disconnecting the original call and dialing the user’s mobile phone number. If the caller cannot reach the user on his mobile phone, the caller leaves a message on the user’s voice mail box in the mobile phone network. As a result, the recipient ends up checking his Outlook inbox for e-mails, corporate voice mail system for some voice mails, and his mobile phone provider’s voice mailbox for other voice mails.

A unified communications solution needs to provide means for the user to control any communication stream in a unified fashion at all times. By giving out a mobile phone number, a secondary access channel to the user has been opened that currently bypasses the user’s unified communications solution in the company. With Office Communications Server 2007 R2 a new feature has been introduced, called Outside Voice Control, that enables users to hide their mobile phone number for inbound and outbound calls. This feature is sometimes referred to as outside voice.

To use this feature, a user needs to install Office Communicator Mobile (2007 R2 release) on a Windows Mobile phone, and a data service such as General Packet Radio Service (GPRS) to provide IP data communication between the mobile phone and the Internet. This network carries SIP messages (that is, but not audio media) between the Office Communications Server 2007 R2 system (that is, by using the organization’s Edge Server) and the Communicator Mobile client. The user also needs to be enabled for Enterprise Voice.

If the user receives an incoming call on his SIP Uniform Resource Identifier (URI), either from the PSTN or from other Office Communications Server 2007 R2 users or from a federated contact, Office Communications Server 2007 R2 sends a SIP INVITE to all of the user’s registered SIP endpoints (for example, Office Communicator 2007 R2, Office Communicator Phone Edition) as well as to the user’s Communicator Mobile client running on the Windows Mobile device. After this SIP INVITE message reaches the Communicator Mobile client using the data channel of the mobile phone, Communicator Mobile automatically accepts the incoming call and changes the user’s presence to In a Call. Next, Office Communications Server 2007 R2 initiates an outbound call to user’s mobile phone number by using an Office Communications Server 2007 R2 Mediation Server and PSTN access point (that is, by using a gateway, PBX, or SIP Trunk service provider). The user receives a second incoming call through the mobile phone provider’s cellular network and is able to accept the call. Note that the actual mobile phone call is not a Voice over IP (VoIP) call where audio has been transmitted by using the mobile phone provider’s data packet network to Communicator Mobile. Instead, it is a normal mobile phone call that uses the mobile phone provider’s cellular network.

For an outbound call from her mobile phone, the user has the option to enter the phone number to be dialed in Communicator Mobile or to initiate a call to a SIP contact using Communicator Mobile. If the user chooses the Callmenu option in Communicator Mobile, the call is placed by the mobile phone by using the mobile phone network. However, if the user chooses the Call via workoption in Communicator Mobile, the phone first sends a SIP INVITE to Office Communications Server 2007 R2. Office Communications Server 2007 R2 establishes a call to the user’s mobile phone number over the PSTN. The user receives an incoming mobile phone call from his company by using the mobile phone provider’s cellular network. Finally, after the user accepts the call from his company, Office Communications Server 2007 R2 sets up a second call leg to the designated called party and joins the two connections. (Note that if the Called Partyis on the PSTN, the two call legs can be over separate Mediation Servers that have completely different PSTN break-out locations.) The called party receives a call from the user’s company by using the user’s office phone number as the Calling Partynumber despite the fact that the user is actually on her mobile phone.

Following are some of the benefits for the company and the user associated with this scenario:

Outside Voice Control Architecture

To enable the Outside Voice Control scenario, the following prerequisites are required:

  • As part of the Office Communications Server 2007 R2 installation, all applications are installed by default. During the deployment, the Outside Voice Control application needs to be activated as part of the Office Communications Server 2007 R2 installation.

  • The unified communications Application Server needs to run on every Office Communications Server 2007 R2 Standard Edition server or Enterprise pool Front End Server. You need to start the Outside Voice Control application by using the Office Communications Server 2007 R2 snap-in.

  • One or more Office Communications Server 2007 R2 Mediation Servers with connected PSTN Gateways, IP PBXs, or SIP Carrier trunks need to be deployed for PSTN access.

  • Users who want to benefit from this scenario need to be enabled for Enterprise Voice. To benefit from the single voice mail box functionality, which can only be provided by Exchange 2007 Unified Messaging, users need to be enabled for Exchange 2007 Unified Messaging.

  • Users need to have a Communicator Mobile (2007 R2 release) client installed on their Windows Mobile 6 or Windows Mobile 6.1 smartphone or Pocket PC phone device. Additionally, it is highly recommended that you have an unlimited data usage plan with the mobile phone provider.

  • The user’s mobile phone needs to be enabled for data packet communication through GPRS, EDGE, CDMA, or other 3G connection, and a screen resolution of 240 x 320 pixels is required.

  • An Office Communications Server 2007 R2 Access Edge server needs to be deployed to allow Communicator Mobile to exchange SIP messages with the corporate Office Communications Server 2007 R2 pool.

  • You need to configure a location profile for each pool or user where Outside Voice Control is installed.

  • To enable this scenario, you need to open the following ports:

    Table 1. Required and Optional Ports

    Application Port Number Protocol Place to open ports Usage

    Communicator Mobile (2007 R2 release)

    5060

    SIP Transmission Control Protocol (TCP)

    Load balancer in front of home server (optional)

    Port range used by Communicator Mobile for SIP communications internally

    Communicator Mobile (2007 R2 release)

    5061

    SIP TLS

    Internal firewall and load balancer in front of home server (required)

    Port range used by Communicator Mobile for SIP over Transport Layer Security (TLS) communications internally

    Communicator Mobile (2007 R2 release)

    443

    TLS/HTTPS

    External firewall and load balancer in front of external edge of Access Edge Server

    Used by Communicator Mobile for connecting from outside the intranet for SIP communications

    Outside Voice Control

    5074

    TCP

    Load balancer in front of home server where Outside Voice Control is installed

    Used by Outside Voice Control for internal communications

Architectural Overview

The following figure shows the architecture required for the Outside Voice Control scenario.

Figure 1. Outside Voice Control architecture

Protocols Used By Outside Voice Control

Outside Voice Control uses the following protocols:

  • Session Initiation Protocol (SIP).Communicator Mobile exchanges SIP messages through the Office Communications Server 2007 R2, Access Edge Server with the Office Communications Server 2007 R2 pool.

  • Third Party Control Protocol (TPCP).This protocol is transported by SIP messages between the Communicator Mobile client and the Office Communications Server 2007 R2 Standard Edition server or Enterprise pool and is used to send call commands between the phone and the user’s Front End Server.

Call Flows

The following sections contain sample call flows for an outbound call and an inbound call (from the perspective of the Windows Mobile phone user) by using the Enterprise Cellular Voice scenario with a Communicator Mobile (2007 R2 release) client.

Outbound Call

The following steps occur when User A, who is running Communicator Mobile, establishes an outbound call to User B, who is using Office Communicator, from a mobile telephone by using Communicator Mobile in conjunction with the Outside Voice Control application. User B has multiple endpoints: Office Communicator 2007 R2 and Communicator Mobile (2007 R2 release).

  1. On his Communicator Mobile client, User A selects a contact from his contact list, and then selects Call via Workfrom the calling options.

  2. Communicator Mobile uses a data channel to inform Outside Voice Control of the outbound call. This information is transmitted to Outside Voice Control by using SIP/TPCP. The message is passed though the mobile provider’s data packet network through the Internet to their organization’s Office Communications Server 2007 R2 Access Edge server, and from there to their assigned Standard Edition server or Enterprise pool.

  3. Outside Voice Control establishes a call to User A’s mobile phone by initiating a request through a Mediation Server to the mobile phone provider’s cellular voice network.

  4. User A receives an incoming call on her mobile phone.

  5. User A answers the call and the first call leg between the Office Communications Server 2007 R2 environment and User A’s mobile phone has been established. Media is inactive.

  6. Outside Voice Control now establishes a second call leg with the home pool of User B, where Office Communicator 2007 or Communicator 2007 R2 has been registered, by sending a SIP INVITE message.

  7. A Front End Server in User B’s home pool looks up the User B’s registered endpoints and then forks the SIP INVITE message to all of them.

  8. User B gets an incoming call notification.

  9. As soon as User B answers the call on one of her registered devices, the second call leg has been established.

  10. Outside Voice Control provides call management to bridge the two call legs between the mobile client (that is, User A) and the enterprise Office Communicator user (that is, User B). Media flows between User A’s mobile phone through the mobile phone provider’s cellular network, to the PSTN, then through the Mediation Server (that was selected by Outbound Routing) to Office Communicator 2007 or Communicator 2007 R2 client.

Figure 2. Outbound call flow

If call forwarding on the mobile telephone has been enabled, outbound calls on Communicator Mobile are not supported.

For the normalization of telephone numbers dialed by Communicator Mobile, the user’s user-specific location profile is applied on non RFC3966 compliant called party numbers.

Inbound Call

To continue with the example above but in the opposite direction, User B (that is, the Office Communicator 2007 or Communicator 2007 R2 user) in the enterprise calls User A. User A has Communicator Mobile installed on her mobile device. In this section, the call flow of this scenario is outlined below.

  1. User B initiates a call to User A by clicking on a contact in Office Communicator 2007 or Office Communicator 2007 R2.

  2. User A’s Front End Server in the recipient’s home pool looks up User A’s registered endpoints, and then forks the call to all registered endpoints, including User A’s Communicator Mobile client.

  3. When the request to establish a signaling channel reaches Communicator Mobile, Communicator Mobile determines that the incoming session is an audio call.

    Note: Communicator Mobile intercepts the incoming voice call only if the Calling Party number of the voice call matches the Calling Party number that is communicated through the data channel that gets established before the voice call. Otherwise, the incoming voice call is treated as a regular mobile telephone call and Communicator Mobile does not respond.

  4. Communicator Mobile automatically accepts the call by using a data signaling channel in the data packet network of the mobile phone provider to pass this message to Outside Voice Control through the Internet and Office Communications Server 2007 R2.

  5. Outside Voice Control initiates a call to User A’s mobile phone number. Outbound Routing selects a Mediation Server/gateway to send the call to the PSTN, which ultimately routes to the mobile phone provider’s cellular network.

  6. When the user answers the incoming mobile phone call on his mobile phone, Outside Voice Control and Office Communications Server 2007 R2 connect the Office Communications Server 2007 R2 Mediation Server call leg with the originating call leg. Media flows directly between Office Communications Server 2007 R2, Mediation Server and the caller.

  7. Outside Voice Control remains in the signaling path to provide call management until the call is terminated.

Figure 3. Inbound call flow

To redirect the incoming INVITE, Communicator Mobile redirects the INVITE with a 303 SIP response and introduces a new header called CancelForking. This header can have two possible values: Yes or No. The absence of the header, which is consistent with Communicator Mobile (2007 release), means that forks will be cancelled. Therefore, the absence of the header is equal to CancelForking:Yes.

See Also