Lync On-Premise Integration and Federation with Exchange Online (Office 365) Unified Messaging via SIP

    This post has matured and its content may no longer be relevant beyond historical reference. To see the most current information on a given topic, click on the associated category or tag.

    April 2016 Update >> Migrate to Skype Cloud PBX for Free --- Update - A step-by-step document for implementing On-Premise Lync with Office 365 Hosted UM can be downloaded here: https://community.office365.com/en-us/f/183/t/1210.aspx ---

    Read the whole guide below (with pictures) starting on Page 58, Chapter 7 – Planning Voice - Microsoft Lync Server 2010 Planning Guide

    In addition to the support that previous Lync Server releases have provided for integration with on-premises deployments of Exchange Unified Messaging (UM), Lync Server 2010 introduces support for integration with hosted Exchange UM. Hosted Exchange UM enables Lync Server to provide voice messaging to your users if you transfer some or all of them to a hosted Exchange service provider such as Microsoft Exchange Online.

    Lync Server Enterprise Voice uses the Exchange UM infrastructure to provide call answering, call notification, voice access (including voice mail), and auto attendant services. For details, see .  

    In This Section [Blog Post]

    Hosted Exchange UM Architecture and Routing

    Hosted Voice Mail Policies

    Hosted Exchange User Management

    Hosted Exchange Contact Object Management

    Deployment Process for Integrating Hosted Exchange UM with Lync Server 2010

    Hosted Exchange UM Architecture and Routing

    This section provides an overview of the architecture for on-premises and hosted Exchange UM integration, including supported modes, shared SIP space, and routing considerations.

    In This Section

    Hosted Exchange UM Integration Architecture

    Hosted Exchange UM Routing  

    Hosted Exchange UM Integration Architecture

    The Lync Server 2010 ExUM Routing application supports integration with an on-premises Exchange Unified Messaging (UM) deployment, with Exchange UM hosted by a service provider, or with a combination of the two. The following diagram shows all three possibilities.

    Integration with an on-premises Exchange UM deployment and two hosted Exchange providers  

    The following modes are supported:

    • On-premises deployment: Lync Server and Exchange UM are both deployed on local servers within your enterprise.

    • Cross-premises deployment: Lync Server is deployed on local servers within your enterprise and Exchange UM is hosted in an online service provider’s facility, such as a Microsoft Exchange Online data center.

    • Mixed deployment: Your Lync Server deployment has some user mailboxes homed on local Exchange servers within your enterprise and some mailboxes homed in a hosted Exchange service data center.

    Note: The mixed deployment can be used as a transitional solution during evaluation and phased migration of users to hosted Exchange UM, or a permanent solution if you opt to keep some users’ Exchange UM services on-premises after transferring others.  

    Shared SIP Address Space

    To integrate Lync Server with an on-premises Exchange UM deployment, you grant Lync Server permission to read Exchange UM Active Directory Domain Services objects. This approach does not work for integration with hosted Exchange UM, however, because Lync Server and Exchange UM are installed in separate forests with no trust between them.

    To integrate Lync Server with hosted Exchange UM, you must configure a shared SIP address space(also called a split domain). In this configuration, the same SIP domain address space is available to both Lync Server and the hosted Exchange UM service provider.

    Note:

    Use of the shared SIP address space is similar to the approach used in a cross-premises Lync Server environment, in which some users are homed in the on-premises deployment and some are homed in a hosted deployment (such as Microsoft Lync Online 2010). The SIP domain is split between them. When you integrate Lync Server with hosted Exchange UM, ensure that you include the Exchange UM service provider in the shared SIP address space.

    To configure the shared SIP address space for integrating with an Exchange UM service provider, you need to configure your Edge Server as follows:

    1. Configure the Edge Server for federation by running the Set-CsAccessEdgeConfiguration cmdlet to set the following parameters:

    • UseDnsSrvRouting specifies that Edge Servers will rely on DNS SRV records when sending and receiving federation requests.

    • AllowFederatedUsers specifies whether internal users are allowed to communicate with users from federated domains. This property also determines whether internal users can communicate with users in a split domain scenario.

    • EnablePartnerDiscovery specifies whether Lync Server will use DNS records to try to discover partner domains that are not listed in the Active Directory allowed domains list. If False, Lync Server will federate only with domains that are found on the allowed domains list. This parameter is required if you use DNS service routing. In most deployments, the value is set to false to avoid opening up federation to all partners.

    1. Replicate the Central Management store to the Edge Server and verify the replication. For details, see Export Your Topology and Copy It to External Media for Edge Installation in the Deployment documentation.

    2. Configure a hosting provider on the Edge Server by running the New-CsHostingProvider cmdlet to set the following parameters:

    • Identity specifies a unique string value identifier for the hosting provider that you are creating, for example, Hosted Exchange UM.

    • Enabled indicates whether the network connection between your domain and the hosting provider is enabled. Must be set to True.

    • EnabledSharedAddressSpace indicates whether the hosting provider will be used in a shared SIP address space scenario. Must be set to True.

    • HostsOCSUsers indicates whether the hosting provider is used to host Lync Server accounts. Must be set to False.

    • ProxyFQDN specifies the fully qualified domain name (FQDN) for the proxy server used by the hosting provider, for example, proxyserver.fabrikam.com. Contact your hosting provider for this information. This value cannot be modified. If the hosting provider changes its proxy server, you will need to delete and then recreate the entry for that provider.

    • IsLocal indicates whether the proxy server used by the hosting provider is contained within your Lync Server topology. Must be set to False.  

    Hosted Exchange UM Routing

    The ExUM Routing application runs on the Front End Server to route calls, either to an on-premises Microsoft Exchange Server Unified Messaging (UM) deployment or to hosted Exchange UM.

    The ExUM Routing Application

    The Lync Server 2010 ExUM Routing application uses information from user account settings and from hosted voice mail policy parameters to determine how to route calls for hosted voice messaging.  

    Exchange UM routing can be configured to route calls to users who are enabled for on-premises Exchange UM, to users who are enabled for hosted Exchange UM, or to a combination of the two.

    For example, suppose that Roy’s mailbox and Exchange UM service are homed in an on-premises Exchange deployment.

    • The proxy address information from Roy’s user account provides the information that the ExUM Routing application uses to route his calls to an on-premises Exchange UM server. Alice’s mailbox and Exchange UM service are located at a hosted Exchange service provider’s data center. Routing for her Exchange UM calls is configured as follows:

    • The values set in the msExchUCVoiceMailSettings attribute of Alice’s user account tell the ExUM Routing application to check for routing details in a hosted voice mail policy.

    Note:

    The value of the msExchUCVoiceMailSettings attribute can be set by either the Exchange service provider or the Lync Server administrator. In the example shown in the preceding diagram, the value (CsHostedVoiceMail=1) was set by the Lync Server administrator to enable hosted voice mail for Alice. For details about this attribute, see .

    • The hosted voice mail policy that is assigned to Alice’s user account provides routing details:

    • Destination is the hosted Exchange UM service provider (ls.ExUm..com in this example).

    • Organizations are identified by the tenant IDs, which are the routing FQDNs for SIP messages for Exchange Server tenants that are located on ls.ExUm..com (corp.contoso.com and corp.litwareinc.com in this example).

    For details, see .

    Note:

    If both the msExchUCVoiceMailSettings attribute and the UM proxy address settings are present in a user account, the msExchUCVoiceMailSettings attribute takes precedence.

    Hosted Voice Mail Policies

    A hosted voice mail policy provides information to the Lync Server 2010 ExUM Routing application about where to route calls for users whose mailboxes are located on a hosted Exchange service.

    Note:

    Hosted voice mail policies are required only for Lync Server integration with hosted Exchange UM. They are not needed for integration with on-premises Exchange UM.

    Hosted Voice Mail Policy

    Scope Hosted voice mail policy scope determines the hierarchical level at which the policy applies. You can configure hosted voice mail policies with the following scope levels:

    • The global policy can potentially affect all users in the Lync Server deployment. If a user is enabled for hosted Exchange UM access and has not been assigned a per-user policy, and if a site policy has not been assigned to the user’s site, the global policy applies. The global policy is installed with Lync Server. You can modify it to meet your needs, but you cannot rename or delete it.

    • A site policy can affect all users that are homed on the site for which the policy is defined. If a user is configured for hosted Exchange UM access and has not been assigned a per-user policy, the site policy applies.

    • A per-user policy can affect only individual users or groups. To enforce a per-user policy, you must explicitly assign the policy to individual users, groups, and contact objects.

    Note:

    In most cases, only one hosted voice mail policy is required. You can often modify the global policy to meet all your needs. If you deploy multiple hosted voice mail policies, all such policies have per-user scope.

    Hosted Voice Mail Policy Attributes A voice mail policy defines two attributes that the Lync Server ExUM Routing application inserts in the request URI of an INVITE message that is sent to the hosted Exchange UM implementation:

    • Destination: The fully qualified domain name (FQDN) of the hosted Exchange UM service. This value is used by the on-premises Lync Server Edge Server for routing purposes.

    • Organization: The FQDN of the tenant on the hosted Exchange UM service that homes your Lync Server users’ mailboxes. A voice mail policy can contain multiple organizations. If more than one organization is included in the policy, this attribute must be a comma-separated list of the Exchange Server tenants that home your Lync Server user mailboxes.

    Note:

    The tenant administrator of your hosted Exchange UM service will provide the necessary values for your Destination and Organization attribute settings. To configure your policy, you must run the New-CsHostedVoicemailPolicy cmdlet or use the Set-CsHostedVoicemailPolicy cmdlet to modify one that exists (for example, the global policy).

    For details about managing hosted voice mail policies, see the Lync Server Management Shell documentation for the following cmdlets:

    • New-CsHostedVoicemailPolicy

    • Set-CsHostedVoicemailPolicy

    • Get-CsHostedVoicemailPolicy

    Per-User Voice Mail Policy Assignment

    If your hosted voice mail policy is defined with per-user scope, you must explicitly assign it. You can run the Grant-CsHostedVoicemailPolicy cmdlet to assign the policy to individual users or groups.

    For details about assigning or removing a per-user hosted voice mail policy, see the Lync Server Management Shell documentation for the following cmdlets:

    • Grant-CsHostedVoicemailPolicy

    • Remove-CsHostedVoicemailPolicy

    Hosted Exchange User Management

    To provide voice mail services for Lync Server 2010 users whose mailboxes are located on a hosted Exchange service, you must enable their user accounts for hosted voice mail.

    Note:

    Before a Lync Server user can be enabled for hosted voice mail, a hosted voice mail policy that applies to the corresponding user account must be deployed. The policy can be global, site, or per-user in scope, as long as it applies to the user whom you want to enable. For details, see .  

    Enabling Users for Hosted Voice Mail

    To enable a user’s voice mail calls to be routed to hosted Exchange UM, you must run the Set-CsUser cmdlet to set the value of the HostedVoiceMail parameter. This parameter also signals Lync 2010 to light up the “call voice mail” indicator.

    • The following example enables Pilar Ackerman’s user account for hosted voice mail:

    Set-CsUser -Identity “Pilar Ackerman” –HostedVoiceMail $True

    The cmdlet verifies that a hosted voice mail policy (global, site-level or per-user) applies to this user. If no policy applies, the cmdlet fails.

    • The following example disables Pilar Ackerman’s user account for hosted voice mail:

    Set-CsUser -Identity “Pilar Ackerman” –HostedVoiceMail $False

    The cmdlet verifies that no hosted voice mail policy (global, site-level or per-user) applies to this user. If a policy does apply, the cmdlet fails.

    For details about using the Set-CsUser cmdlet, see the Lync Server Management Shell documentation.

    The msExchUCVoiceMailSettings Attribute

    Lync Server 2010 introduces a new user attribute named msExchUCVoiceMailSettings, which is created as part of the Lync Server Active Directory schema preparation. This multivalued attribute holds voice mail settings that are shared by Lync Server and the hosted Exchange service.

    The hosted Exchange service may in some cases set the value of the msExchUCVoiceMailSettings attribute in the process of enabling Exchange UM, or during the process of transferring mailboxes to a hosted Exchange Server. If this attribute is not set by Exchange, the Lync Server administrator must set it by running the Set-CsUser cmdlet, as described earlier in this topic.

    The attribute’s key/value pairs and their authors are shown in the following table.

    The msExchUCVoiceMailSettings Attribute Key/Value Pairs

    Value Author Meaning
    ExchangeHostedVoiceMail=1 Exchange User has been enabled for hosted UM access by Exchange Server. The Lync Server ExUM Routing application will check the user's hosted voice mail policy for routing details.
    ExchangeHostedVoiceMail=0 Exchange User has been disabled for hosted UM access by Exchange Server.
    CsHostedVoiceMail=1 Lync Server User has been enabled for hosted UM access by Lync Server. The Lync Server ExUM Routing application will check the user's hosted voice mail policy for routing details.
    CsHostedVoiceMail=0 Lync Server User has been disabled for hosted UM access by Lync Server.

    Notes: If the attribute already has values other than one of the Lync Server key/value pairs (CSHostedVoiceMail=0 or CSHostedVoiceMail=1), a warning will indicate that the attribute may be managed by a different application. For example, a warning is displayed if the key/value pair ExchangeHostedVoiceMail=0 or ExchangeHostedVoiceMail=1 is already present. In that case, you can change the value by editing it the Active Directory, or run the following cmdlet to set the value to null:

    Set-CsUser –identity user –HostedVoicemail $null

    Hosted Exchange Contact Object Management

    You need to configure a Contact object for each auto-attendant number and subscriber access number in your cross-premises deployment.

    For integration with hosted Exchange UM, ocsumutil.exe cannot be used to manage Contact objects, because it depends on Active Directory Exchange UM settings. In a cross-premises deployment, Lync Server and hosted Exchange UM are installed in separate forests with no trust between them. For security reasons, Lync Server administrators have no direct access to Exchange UM Active Directory settings. As a result, Lync Server 2010 provides a different model for managing Contact objects in a shared SIP address space that is accessible to both Lync Server and the hosted Exchange UM service.  

    Hosted Contact Object Workflow

    The following are the general steps for working with your hosted Exchange tenant administrator to manage contact objects:

    1. The Exchange administrator requests phone numbers for the Exchange UM subscriber access and auto-attendant Contact objects.

    2. The Lync Server administrator creates a Contact object for each phone number and assigns a hosted voice mail policy to each Contact object.

    3. The Lync Server administrator provides the phone numbers to the Exchange administrator.

    4. The Exchange administrator assigns the phone numbers to appropriate Exchange UM dial plans for auto attendants and subscriber access.

    Note:

    There is no need to configure any Lync Server dial plan settings on the Contact objects as there is with on-premises deployments.  

    Configuring Hosted Contact Objects

    Note:

    Before Lync Server Contact objects can be enabled for hosted Exchange UM, a hosted voice mail policy that applies to them must be deployed. The policy can be of global, site-level, or per-user scope, as long as it applies to the contact object you want to enable. For details, see .

    To configure hosted auto-attendant and subscriber access Contact objects in a cross-premises deployment, you must use the following cmdlets:

    • New-CsExUmContact creates a new Contact object for hosted UM.

    • Set-CsExUmContact modifies an existing Contact object for hosted Exchange UM.

    The following example creates an auto-attendant Contact object:

    New-CsExUmContact -SipAddress sip

    @fabrikam.com -RegistrarPool RedmondPool.litwareinc.com -OU “OU=ExUmContacts,DC=litwareinc,DC=com” -DisplayNumber 2065559876 -AutoAttendant $True

    This example creates a new Exchange UM Contact object with the SIP address sip

    @fabrikam.com. The name of the pool where the Lync Server 2010 Registrar service is running is RedmondPool.litwareinc.com. The Active Directory organizational unit where this information will be stored is OU=ExUmContacts,DC=litwareinc,DC=com. The phone number of the Contact object is 2065554567. The optional -AutoAttendant $True parameter specifies that this object is an auto-attendant Contact object.

    Setting the -AutoAttendant parameter to False (the default) specifies a subscriber access Contact object. For details about the New-CsExUmContact and Set-CsExUmContact cmdlets, see the Lync Server Management Shell documentation.

    Deployment Process for Integrating Hosted Exchange UM with Lync Server 2010

    Effective planning for integrating Lync Server 2010 with hosted Exchange Unified Messaging (UM) requires that you take into account the following:

    • Prerequisites for integrating Lync Server 2010 with hosted Exchange UM

    • Steps required during the integration process  

    Deployment Prerequisites for Integrating with Hosted Exchange UM

    Before you can begin the integration process, you must already have deployed Lync Server (at a minimum, a Front End pool or a Standard Edition server), an Edge Server, and Lync 2010 or Office Communicator 2007 R2 clients.

    Integration Process

    The following table provides an overview of the hosted Exchange UM integration process. For details about deployment steps, see Providing Lync Server 2010 Users Voice Mail on Hosted Exchange UM in the Deployment documentation.

    Phase Steps Rights and permissions Deployment documentation
    Configure the Edge Server.

    1. Configure the Edge Server for federation.

    2. Manually replicate data to the Edge Server.

    3. Configure the hosting provider on the Edge Server.

    RTCUniversalServerAdmins Configure the Edge Server for Integration with Hosted Exchange UM
    Configure hosted voice mail policy.

    1. Either modify the global hosted voice mail policy or create a new hosted voice mail policy with Site or Per-User scope.

    2. For policies with Per-User scope, assign the policy to users or groups.

    RTCUniversalServerAdmins Manage Hosted Voice Mail Policies
    Enable users for hosted voice mail.

    • Configure user accounts for users whose mailboxes are on a hosted Exchange service.

    RTCUniversalUserAdmins Enable Users for Hosted Voice Mail
    Configure hosted contact objects.

    1. Create auto-attendant Contact objects for hosted Exchange UM.

    2. Create Subscriber Access contact objects for hosted Exchange UM.

    RTCUniversalUserAdmins Server Management Shell documentationServer Management Shell documentationNote:

    To create, modify or remove contact objects, the user who runs the New-CsExUmContact, Set-CsExUmContact or Remove-CsExUmContact cmdlet must have the correct permission to the Active Directory organizational unit where the new contact objects are stored. This permission can be granted by running the Grant-CsOUPermission cmdlet. For details, see the Lync Server Management Shell documentation.

    Create Contact Objects for Hosted Exchange UM

    Read the whole guide Page 58, Chapter 7 – Planning Voice - Microsoft Lync Server 2010 Planning Guide

    Learn more about our Skype for Business (now Microsoft Teams) E5 PBX Services.