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:
- The user’s office phone number can become the only phone number
that is published on business cards and other business materials.
The mobile phone number can be shared with selected people.
- Activities on the user’s mobile phone (for example, when
participating in a mobile phone call) can be aggregated to the
user’s overall presence state.
- If the user is enabled for Enterprise Voice and Exchange 2007
SP1 Unified Messaging, the user can disable his mobile phone voice
mail box and use Exchange 2007 SP1 Unified Messaging as his only
voice mail repository. This has all the advantages of using an
Outlook Inbox for all communications (for example, e-mail, missed
call notifications, voice mail, team call pick-up notifications,
and so on).
- By setting up an outbound mobile phone call through Office
Communications Server 2007 R2 by using the Outside Voice Control
functionality, call charge reductions may occur. For example, if
the user wants to call an international phone number from his
mobile phone for a longer conference call, call charges can be
lowered significantly by placing the call from the company to the
international number through the PSTN, bypassing the mobile phone
network (despite another call leg being established from the
company to the user’s mobile phone number). Office Communications
Server 2007 R2 Least-Cost Routing functionality helps save
additional costs in these situations. Even more obvious are the
savings what occur when the user calls a federated contact who has
a phone number based in another country. Instead of calling the
international number directly from the user’s mobile phone, Office
Communications Server 2007 R2 can use an Office Communications
Server Edge Server to connect this federated call leg with the call
leg to the user’s mobile phone.
- All calls initiated through Office Communications Server 2007
R2 are captured for Call Detail Recording (CDR) and
Quality-of-Experience (QoE) as part of the Office Communications
Server 2007 R2 Monitoring Server. However, the QoE data is only on
the VoIP legs of the call and does not reflect the quality of the
PSTN or mobile provider network.
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.
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).
- On his Communicator Mobile client, User A selects a contact
from his contact list, and then selects
Call via Workfrom the calling options.
- 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.
- 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.
- User A receives an incoming call on her mobile phone.
- 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.
- 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.
- 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.
- User B gets an incoming call notification.
- As soon as User B answers the call on one of her registered
devices, the second call leg has been established.
- 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.
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.
- User B initiates a call to User A by clicking on a contact in
Office Communicator 2007 or Office Communicator 2007 R2.
- 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.
- 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. - 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.
- 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.
- 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.
- Outside Voice Control remains in the signaling path to provide
call management until the call is terminated.
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.