Download.microsoft.com



[pic]

This document is provided “as-is”. Information and views expressed in this document, including URL and other Internet Web site references, may change without notice.

Some examples depicted herein are provided for illustration only and are fictitious. No real association or connection is intended or should be inferred.

This document does not provide you with any legal rights to any intellectual property in any Microsoft product. You may copy and use this document for your internal, reference purposes.

Copyright © 2011 Microsoft Corporation. All rights reserved.

Microsoft, Active Directory, Lync, Outlook, Windows, Windows Media, and Windows PowerShell are trademarks of the Microsoft group of companies. All other trademarks are property of their respective owners.

This chapter is part of the Microsoft Lync Server 2010 Resource Kit book that is currently being developed. Chapters will be available for download while this book is being completed. To help us improve it, we need your feedback. You can contact us at nexthop@. Please include the chapter name.

For information about the continuing release of chapters, check the DrRez blog at .

Contributors

Project Manager: Susan S. Bradley

Content Architect: Rui Maximo

Chapter Lead: Roy Kuntz

Writers: Keith Hanna, Mike Sneeringer, Roy Kuntz

Sidebar Contributor: Byron Spurlock

Technical Reviewers: Benjamin Chau, Byron Spurlock, Kaushal Mehta, Kent Tilger, Steven van Houttum

Lead Editor: Kate Gleeson

Production Editor: Kelly Fuller Blue

Art Manager: Jim Bradley

Table of Contents

Contributors 4

Introduction 6

Scenarios for Exchange Unified Messaging 6

Voice Mail 6

Missed Call Notification 8

Call Answering 8

Exchange UM Subscriber Access 10

Internals for Exchange UM 10

Missed Call Notification 10

Voice Mail Folder 12

Direct from the Source 19

Lync Server Enhanced Name Resolution with msExchUMCallingLineIDs in Exchange 2010 19

Subscriber Access 22

Auto Attendant 26

Lync 2010 Client Experience and Call Flows 27

Server Version Support 32

Call Routing 32

Direct from the Source 36

Arbitration Mailbox Relation to Exchange UM 36

Hosted Exchange Integration 38

Introduction

Microsoft® Office Communications Server 2007 and Microsoft Office Communications Server 2007 R2 integrated with Microsoft Exchange Unified Messaging (UM) for voice messaging functionality. Microsoft Lync™ Server 2010 communications software has introduced integration with hosted Exchange UM. The evolution of these products has brought about subtle differences in integration between them. This chapter provides details about how to integrate Lync Server 2010 and Exchange UM.

Scenarios for Exchange Unified Messaging

The following sections describe the integration scenarios for Exchange UM.

Voice Mail

In Microsoft Office Communicator 2007 R2, users receive an email notification when a new voice mail is received. However, to actually play the voice mail from Communicator users need to call subscriber access (that is, the Exchange UM Auto Attendant for internal users), and then navigate through a voice mail menu. In Microsoft Lync 2010, users can play voice mail directly from the Lync client, as shown in Figure 1.

[pic]

Figure 1. Lync voice mail controls

When a user views a voice mail from within Microsoft Outlook®, Microsoft Exchange Server 2010 UM provides a new feature called Voice Mail Preview. This feature translates the voice mail speech to text, which can be useful in situations when it is not practical for users to listen to a voice mail message. Additionally, the transcribed text is searchable within Outlook. When viewing a voice mail message in Outlook 2010, the user can click any word within the text of a voice mail and begin playing the message starting from that word.

[pic]

Figure 2. Voice Mail Preview in Outlook

Some Outlook users may want to listen to messages on the telephone, either out of discretion or simply because they do not have adequate speakers on their computers. Voice mail messages within Outlook 2010 or Outlook 2007 feature a Play on Phone button, which enables users to enter a telephone number that Exchange UM calls to play the voice mail message.

[pic]

Figure 3. Play on Phone dialog box

Outlook provides the ability to send an email with “high importance” as denoted by a red exclamation mark, which indicates to the recipient that this is an urgent matter.

Exchange UM supports this functionality. Callers can indicate that a voice mail message is “high importance” after leaving a voice mail message by pressing 1 “for more options” and then pressing 1 “to send with high importance.” Figure 4 shows how high importance is indicated in Outlook.

[pic]

Figure 4. High importance voice mail message in Outlook

Figure 5 shows how high importance is indicated in Lync.

[pic]

Figure 5. High importance voice mail message in Lync

Missed Call Notification

By default, when a user misses a call the user receives a missed call notification email from Exchange UM, as shown in Figure 6. The Caller-Id may contain the Session Initiation Protocol (SIP) Uniform Resource Identifier (URI) or the phone number of the caller. Users can click-to-dial by clicking the links in the email to return the missed call.

[pic]

Figure 6. Missed call in Outlook

Figure 7 shows how the missed call appears in Lync.

[pic]

Figure 7. Missed call in Lync

Call Answering

When a user configures his voice mail, the user is prompted to record his or her name and a personal greeting to play to callers who reach the user’s voice mail. If the user did not record a personal greeting, Exchange UM plays the recorded name. If the user did not record his or her name, Exchange UM translates the user's name by using text-to-speech software.

With Exchange 2010 UM, a user has an additional option to configure call answering rules from within Outlook Web App. You can use call answering rules to configure a custom menu that the caller hears instead of the standard voice mail greeting. The user can give the caller the option of dialing another number (for example, a cell phone or a company main line) or leaving a voice mail.

You can configure call answering rules to present different menus to different callers depending on a set of conditions, such as if the caller is in the user’s Contacts list or if the user is in a meeting. Figure 8 shows how to set up a call answering rule that presents a custom menu to a caller that is in the user’s Contacts list.

[pic]

Figure 8. New call answering rule

Exchange UM Subscriber Access

Exchange UM subscriber access offers access to Microsoft Exchange via a telephone user interface. By default, subscriber access uses speech recognition to navigate a menu instead of the traditional telephone numeric keypad. There are a number of options that can be intimidating to a new user, so Microsoft has created the Outlook Voice Access Quick Start Guide that lays out the menu options using both speech recognition or numeric keypad navigation. For details, see the Outlook Voice Access Quick Start Guide at .

In addition to functionality found in a typical voice mail system, the following advanced features in Exchange 2010 UM are particularly useful:

• Call the cell   If a user has a mobile number configured in your address book or Contacts list, you can call that number by saying “Call the cell” from the directory menu.

• Call the sender   If you receive a voice mail, you can call the sender back easily by saying “Call the sender.”

• I’ll be late   If you are listening to a calendar invite, you can say “I’ll be late” to send an email to the meeting attendees notifying them.

Internals for Exchange UM

The following sections dive into the internal working of how Exchange UM integrates with Lync Server 2010 to route calls to voice mail and provide missed call notifications, in addition to integration with Exchange UM subscriber access and Auto Attendant.

Missed Call Notification

A missed call notification can be initiated either by Lync Server or Exchange UM. Incoming calls are initially processed by Lync Server. As shown in Figure 9, a user can configure unanswered calls to go to voice mail after a configurable period of time (the default is 20 seconds).

[pic]

Figure 9. Lync call forwarding settings

If the caller disconnects before the call is sent to voice mail, Lync Server generates a missed call notification by sending a SIP INFO message to Exchange UM, which in turn performs a reverse number lookup of the caller and sends email to the callee with the missed call details.

If the caller is sent to voice mail and subsequently disconnects without leaving a message, Exchange UM performs a reverse number lookup of the caller and sends a missed call notification email to the callee.

How to Disable Missed Call Notifications

Frequently, users want to disable missed call notifications to reduce mailbox clutter. To completely disable missed call notifications, you must make changes in both Microsoft Exchange and Lync Server.

Exchange 2010 provides several options for disabling missed call notifications, either at the mailbox policy level or at the mailbox level. To disable missed call notifications at the policy level, which applies to all users who have been assigned this policy, run the following commands in the Exchange Management Shell:

// To disable at the policy level, which applies to all users who have been assigned this policy

Set-UMMailboxPolicy –Identity –AllowMissedCallNotifications $false

To disable missed call notifications at the mailbox level, which only applies to a specific user, run the following commands in the Exchange Management Shell:

// To disable at the mailbox level, which only applies to a specific user

Set-UMMailbox –Identity –MissedCallNotificationEnabled $false

Additionally, users can disable missed call notifications in Exchange 2010 by using the Exchange Control Panel in Outlook Web App, as shown in Figure 10.

[pic]

Figure 10. Disable missed call notifications in Outlook Web App

The process for disabling missed call notifications in Lync is not as straight-forward because there is no explicit setting to disable missed call notifications. To disable missed call notifications in Lync, the user must change his or her Personal information manager to None, as shown in Figure 11.

[pic]

Figure 11. Disable missed call notifications in Lync

Unfortunately, if you change this setting you also disable all Outlook integration, including saving instant messages and call logs in the Outlook Conversation History folder and updating presence based on Outlook calendar information. Because these represent some of the key features in Lync, we recommend that you disable missed call notifications in Microsoft Exchange instead.

Voice Mail Folder

When Exchange UM processes a missed call or voice mail, it saves the metadata to a text file on the local disk prior to sending an email to the hub transport. If the hub transport is not available, the files remain on the local disk. By default, the files are stored in the %ProgramFiles%\Microsoft\Exchange Server\v14\UnifiedMessaging\voicemail folder.

Figure 12 shows an example of a directory with both a missed call and voice mail on the local disk of the Exchange UM server. The first and third text files listed in Figure 12 are for missed calls, and the second text file listed is a voice mail file.

[pic]

Figure 12. Voice mail folders

Figure 13 shows an example of the missed call metadata.

[pic]

Figure 13. Missed call metadata

Figure 14 is an example of the voice mail metadata.

[pic]

Figure 14. Voice mail metadata

Voice Mail Codec

Exchange 2010 now supports four audio codec options for recording voice mail. The new default audio codec is MP3. Although MP3 is not the best format in terms of quality and compactness, it is nearly ubiquitous on mobile devices, which makes it a reasonable choice for satisfying the broadest audience.

Figure 15 shows the file size versus message duration for the various audio codecs.

[pic]

Figure 15. Voice mail codec chart

Some organizations may find it advantageous to use multiple formats. The voice mail audio codec can be set at the dial-plan level or at the mailbox level. Both of these settings are configured on the server running Microsoft Exchange.

To change the audio codec at the dial-plan level, which applies to all calls that use this dial plan, run the following commands in the Exchange Management Shell:

// To change the audio codec at the dial plan level, which applies to all calls that use this dial plan

Set-UMDialPlan –Identity –AudioCodec {MP3|GSM|WMA|G711}

To change the audio codec at the mailbox level, which only applies to a specific user, run the following commands in the Exchange Management Shell:

// To change the audio codec at the mailbox level, which only applies to a specific user

Set-UMMailbox –Identity –CallAnsweringAudioCodec {MP3|GSM|WMA|G711}

When Lync Server and Exchange UM are used in conjunction with each other, RTAudio wideband is negotiated as the wire codec. Mediation Servers for Lync Server, Office Communications Server, and compatible endpoints are the only kind of SIP peers that negotiate RTAudio with Exchange UM.

The audio format and codec that Exchange UM servers use to store the audio in voice messages depends not only on the audio codec that is configured in the dial plan but on the bit rate of the audio that Exchange UM negotiates with the SIP peer too.

For example, when wideband RTAudio is negotiated as the wire codec, an Exchange UM server uses either 32 kilobits MP3 or Windows Media audio files (.wma) when creating voice mail messages, depending on the dial plan setting.

Starting with Exchange 2010 Service Pack 1 (SP1), wire codec settings are no longer stored in the registry. Now, these configuration settings are controlled by the MSExchangeUM.CONFIG file, which is located in the %ProgramFiles%\Microsoft\Exchange Server\v14\Bin folder. The Exchange 2010 wire codec options that determine whether Exchange UM should advertise G.723 and RTAudio are as follows:

Warning: Make sure that you make a backup copy of your MSExchangeUM.CONFIG file before you edit it.

Voice Mail Preview

Voice Mail Preview is a new feature in Exchange 2010 that transcribes voice mails to text.

Only the first 30 seconds of a voice mail are transcribed to text. If a message is longer than 75 seconds the message is skipped. Figure 16 shows what a user sees if the message is too long.

[pic]

Figure 16. Voice Mail Preview in Outlook Web App

In the MSExchangeUM.config file, you can adjust these settings. For example, the following setting allows adjustment of the 75 second timeout threshold:

Other settings that you can adjust include the following:

You can disable Voice Mail Preview at the policy level as follows:

// To disable at the policy level, which applies to all users that have been assigned this policy

Set-UMMailboxPolicy –Identity –AllowVoiceMailPreview $false

If a user wants to disable Voice Mail Preview, he or she can do this by using the Exchange Control Panel in Outlook Web App, as shown in Figure 17.

[pic]

Figure 17. Voice Mail Preview configuration in Outlook Web App

At the time of publication for this document, Voice Mail Preview is only available in English, French, and Italian.

Caller ID

Caller ID displays the user name of the caller instead of just the caller’s phone number. The process of performing a reverse number lookup and matching a number to a name involves several steps to determine the most appropriate match. The steps involved in looking for a match are as follows:

1. Look for a match in the Exchange UM proxy address for the current dial plan.

2. Look for a match in the Exchange UM proxy address for other dial plans.

3. Look for a match in CallingLineID Active Directory attribute.

4. Look for a match in MSRTCSIP-Line Active Directory attribute.

5. Look for a match in other Active Directory phone attributes.

6. Look for a match in recipients personal contacts.

7. If no match is found, just display the caller’s phone number.

The flowchart in Figure 18 provides a more detailed view of this process.

[pic]

Figure 18. Caller ID flowchart

Direct from the Source

Lync Server Enhanced Name Resolution with msExchUMCallingLineIDs in Exchange 2010

Byron Spurlock

Quadrantechnologies \ Founder – Principal Architect

When running Exchange Server 2007, you might notice that your Inbox contains a voice mail that doesn't have a name associated with it. Instead, all you see is a missed call from a phone number, such as (425) 555-0151.

The reason this occurs in Exchange 2007 is that the E.164 reverse number look up is limited and, as a result, in some cases it cannot return the name of the caller if the caller hangs up without leaving a message. What is missing is the ability to take an E.164 number or set of numbers for a user who is enabled for Exchange UM and use these numbers to help resolve an incoming number from another user or a caller from outside the organization. What happens is the Exchange 2007 UM server takes the E.164 number and then it does a reverse number lookup for the name of the caller in Active Directory or the Exchange UM-enabled user’s personal Contacts list. If the caller's phone number is not present in Active Directory or in the callee’s personal Contacts list (that is, in the form of an E.164 number), the Exchange 2007 UM server still attempts to perform a reverse number lookup, but cannot resolve the callee’s phone number because it is not defined in Active Directory or the caller's personal contacts list. In Exchange 2007, name lookups for voice mail messages are performed by using information about a caller who is in the same dial plan as the user being called via an Exchange UM proxy address and by using the personal Contacts list of the user receiving the call. In Exchange 2010, the name lookup methods differ from those used in Exchange 2007.

With the implementation of Lync Server 2010, new deployment prerequisites are required (for example, running schema prep). When you run schema prep for Lync Server 2010, an Active Directory schema attribute is created that exists on an Active Directory recipient object, which is called msRTCSIP-Line. An Exchange UM server uses the msRTCSIP-Line attribute to resolve a caller ID to a name. But what happens if the msRTCSIP-Line is not populated? Lync Server 2010 depends on the correct administration of this attribute to correctly route calls to a unified communications (UC) device. The msExchUMCallingLineIDs attribute for Exchange 2010 UM is used for caller ID–to–name resolution, in very much the same way that the msRTCSIP-Line attribute is used in Lync Server 2010.

When you want to add, remove, or change the phone numbers for a specific user, you add or remove numbers by using the UMCallingLineIds parameter for the Set-User cmdlet. After you add, remove, or change the numbers on the msExchUMCallingLineIDs attribute, you don't need to do anything else. This attribute enables an Exchange UM server to take an existing E.164 number or set of numbers, convert the number or numbers, and then perform a name lookup. This attribute can contain a list of numbers that are mapped to a specific user and can be configured on the user’s Active Directory object.

For example, you could add the numbers 4255550151, 14255550151, and +14255550151 to the msExchUMCallingLineIDs attribute for a specific user, as shown in Figure 19. Although the last number in this list is an E.164 number, a correctly formatted E.164 number is not required. You can add any phone number that looks like a valid phone number that contains digits, and those digits can begin with a plus (+) sign.

[pic]

Figure 19. Modify msExchUMCallingLineIDs in the Attribute Editor dialog box

You can manipulate the msExchUMCallingLineIDs attribute for a user in your organization by adding additional numbers that are relevant to the caller. This helps alleviate the occurrence of coming back to your email and viewing a voice mail or missed call that contains a number that you don’t recognize.

Personal Greeting

When users first connect to Exchange UM, they are prompted to record their name and a personal greeting. This recorded name is stored in Active Directory in the user’s account msExchUMSpokenName attribute. The personal greeting is stored in the user’s mailbox.

Figure 20 shows the msExchUMSpokenName attribute as it appears in ADSIEDIT.

[pic]

Figure 20. Personal greeting storage

When a call is sent to voice mail, Exchange UM attempts to play the personal greeting, if available. If the personal greeting cannot be played, either because the latency with the mailbox server is too high or the mailbox is unavailable, the recorded name is played instead.

Diversion Header

When a call is sent to voice mail, the Diversion field contains the SIP URI of the user who receives the voice mail (that is, the callee). Figure 21 provides an example of a SIP INVITE, which includes Diversion information that indicates that the call is directed to the user called "Cristina."

Direction: outgoing

Peer: EXUM.:5061

Message-Type: request

Start-Line: INVITE sip:Lync@EXUM.:5061;local-resource-path=voicememo;transport=tls;maddr=EXUM. SIP/2.0

From: "Luka Abrus";tag=9712f27b0c;epid=a91510a6ee

To:

CSeq: 1 INVITE

Call-ID: 31ccf3fc437c4d358c9d2a1693568139

Record-Route: ;tag=0E12AB90DBA5BCE5E6CE22D9E6982104

Via: SIP/2.0/TLS 192.168.0.152:59666;branch=z9hG4bKC974DEDF.27C1BA4F9F64E1C0;branched=TRUE

Max-Forwards: 9

Content-Length: 2976

Via: SIP/2.0/TLS 192.168.0.101:54339;ms-received-port=54339;ms-received-cid=67400

ms-application-via: ms-icr-to;ms-processing-icr=se.;state=ToPrimary;ms-pool=se.;ms-application=http%3A%2F%2F%2FLCS%2FInterClusterRouting;ms-server=SE.

ms-application-via: SIP;ms-urc-rs-from;ms-server=SE.;ms-pool=se.;ms-application=ad894dc3-55e0-44bf-a07e-3c073aaa4a57

P-Asserted-Identity: "Luka Abrus",

Contact:

User-Agent: UCCAPI/4.0.7577.108 OC/4.0.7577.108 (Microsoft Lync 2010)

Supported: ms-dialog-route-set-update

Ms-Conversation-ID: AcvnVFU1Bohlr2y8SROSORAktL9D2Q==

Supported: timer

Supported: histinfo

Supported: ms-safe-transfer

Supported: ms-sender

Supported: ms-early-media

Supported: 100rel

ms-keep-alive: UAC;hop-hop=yes

Allow: INVITE, BYE, ACK, CANCEL, INFO, UPDATE, REFER, NOTIFY, BENOTIFY, OPTIONS

ms-subnet: 192.168.0.0

Accept-Language: en-US

ms-endpoint-location-data: NetworkScope;ms-media-location-type=Intranet

Supported: replaces

Supported: ms-conf-invite

Content-Type: multipart/alternative;boundary="----=_NextPart_000_0235_01CBE719.A8FCF5A0"

Referred-By: ;ms-identity="MIIBuAYJKoZIhvcNAQcCoIIBqTCCAaUCAQExDzANBgkqhkiG9w0BAQUFADALBgkqhkiG9w0BBwExggGAMIIBfAIBATBVMEcxEzARBgoJkiaJk/IsZAEZFgNuZXQxFzAVBgoJkiaJk/IsZAEZFgdjb250b3NvMRcwFQYDVQQDEw5jb250b3NvLVBEQy1DQQIKYTlEtAAAAAAAAzANBgkqhkiG9w0BAQUFADANBgkqhkiG9w0BAQEFAASCAQCR46NRb0ki3dtDo9FpCU5npfbsiQu3wIrMl1R6w4ntP0lX7f8YPQzkE6VoGRe7RttZKSSRLe8hJuUsz2R6dgxMStiVKtNbuPLtEZViOr8c/kh12FsSDaqoWbe35Ypt3h3JNhO6qrjRfM4dhGaPCQAlkY94YPW7SaXJzY6O8mMyI7BufQqW+PYlw9rdLaL+Qls3vgROnzls/NwPJc6SbxHOQJ6YOUTxImOKArw4PZZAkWFpEormKnJCem8VbCZ50NaOC5ebZYWR83NYoK2EUvmaaI8bs+HqkdSURJRs6sK43g3IWgA0s+3OnsQWs+onrra2grEpbG43DxFFZKxeVLRr:Sun, 20 Mar 2011 23:07:28 GMT";ms-identity-info="sip:SE.:5061;transport=tls";ms-identity-alg=rsa-sha1

ms-target-class: Primary

Supported: ms-fe

Diversion: ;reason=unknown

Figure 21. Diversion header

Exchange UM uses the Diversion field to determine which greeting should be played. If a call goes to voice mail and the caller either gets the generic subscriber access greeting or the wrong personal greeting, the likely cause is incorrect Diversion information.

Subscriber Access

The subscriber access number is the phone number that a user dials to access their Exchange UM mailbox.

When you configure a subscriber access number, the number that you enter in the Subscriber Access tab in the UM Dial Plans dialog box represents the number that is emailed to users when they are enabled for Exchange UM. This number (for example, the number 1-425-555-0151 shown in Figure 22) is for display-only purposes and does not represent the actual number used for subscriber access.

[pic]

Figure 22. Subscriber access configuration

The actual number (that is, the SIP URI) that Exchange UM uses for subscriber access is assigned to the subscriber access contact object in Active Directory that is created using ocsumutil.exe, as shown in Figure 23.

[pic]

Figure 23. Contact object configuration

Dialing Rule Groups and Dialing Restrictions

In some cases, such as when using “Call the cell” while in subscriber access mode, Exchange UM places an outbound call on behalf of the Microsoft Exchange user. To enable Exchange UM users to place outbound calls, administrators must configure dialing rule groups and assign them to dialing restrictions.

A dialing rule group consists of a number mask, which matches against the number that the user dials, and a dialed number, which is the number that is sent to Lync Server.

For example, Luka has a mobile number +1 (425) 555-0151, and Cristina has dialed into her subscriber access. For Cristina to call Luka’s mobile number from the subscriber access, the subscriber access must have a number mask that matches Luka’s mobile number.

To enable this outbound call, the dialing rule group has a number mask of 1425* and a dialed number of *. When this call is initiated, Exchange UM passes the full number to Lync Server.

Figure 24 illustrates an example of a dialing rule group that is configured on the Exchange UM subscriber access that allows all calls outbound.

[pic]

Figure 24. Dialing Rule Groups tab in the Lync Properties dialog box

Dialing rule groups are then applied to dialing restrictions, which you can configure for a dial plan, mailbox policy, or Auto Attendant.

Figure 25 shows a configuration on a mailbox policy, which also allows all outbound calls.

[pic]

Figure 25. Dialing Restrictions tab in the Lync Default Policy Properties dialog box

There are multiple places in Exchange UM where you can configure dialing restrictions. Table 1 outlines the scenarios that determine which dialing restriction is applied.

Table 1. Dialing Restrictions

|Scenario |Dialing Restrictions |

|Authenticated subscriber access user performs a “Call the cell” |Mailbox policy |

|Anonymous subscriber access makes an outbound call |Dial plan |

|Anonymous Auto Attendant caller makes an outbound call |Auto Attendant |

|Outlook user performs a “Play on Phone” |Mailbox policy |

Auto Attendant

When you configure an Auto Attendant, you may find it challenging to configure custom greetings. Exchange UM requires that custom greeting files be in .wav format at 8.000 kHz, 16 bit, Mono.

One of the easiest ways to record a custom greeting is to leave yourself a voice mail and then upload the file that is produced. However the format of the voice mail does not match the 8.000 kHz, 16 bit, Mono requirement. To resolve this issue, an administrator can convert the file by using the Windows Sound Recorder that is available in Windows 2003 or Windows XP.

To convert a file to the correct format in Windows Sound Recorder, perform the following steps:

1. Open the file in Windows Sound Recorder.

8. On the File menu, click Save As.

9. Click Change.

10. Change the attributes to 8 kHz, 16 Bit, Mono.

[pic]

Figure 26. Windows Sound Recorder configuration

Recording a greeting and uploading it is not the only way that you can configure an Auto Attendant greeting. Another option is to record the greeting directly by calling the Auto Attendant and entering a special key code. To enable this functionality, you must first run the following command in the Exchange Management Shell:

Set-UMDialPlan –Identity –TUIPromptEditingEnabled $true

After this has been completed, an Exchange Server administrator can call the Auto Attendant and enter # * after the greeting begins. After authenticating, the Exchange Server administrator is brought to a hidden menu where the Exchange Server administrator can record custom prompts directly.

Note. If you are calling from a number associated by caller ID to a user enabled for Exchange UM, when you are prompted for the personal identification number (PIN), press * first and then press # * when prompted.

Lync 2010 Client Experience and Call Flows

Lync 2010 requires a connection to the Microsoft Exchange mailbox to enable retrieval of a number of different features, such as calendar contents (that is, Free/Busy status), contacts, and voice mails. Depending on the version of Microsoft Exchange, some of these features are available and some are not. The method for accessing some feature also varies. Table 2 provides a matrix of feature set versus access method for each of the supported versions of Microsoft Exchange.

Table 2. Lync Client and Microsoft Exchange Integration Matrix

|Feature |Exchange 2003 |Exchange 2007 or Exchange |Exchange 2007 or Exchange |Exchange 2007 or Exchange |

| | |2010 |2010 |2010 |

| | |(MAPI Only, |(MAPI and EWS) |(EWS Only, |

| | |No EWS) | |No MAPI) |

|Voice mail notification |MAPI (pushed) |MAPI (pushed) |EWS (subscription) |EWS (subscription) |

|(read/unread count) | | | | |

|Missed conversations |MAPI (pushed) |MAPI (pushed) |EWS (subscription) |EWS (subscription) |

|notification (read/unread | | | | |

|count) | | | | |

|Voice mail display in Lync |Not applicable |Not applicable |EWS (subscription) |EWS (subscription) |

|client | | | | |

|Recent conversation history |Not applicable |Not applicable |EWS (subscription) |EWS (subscription) |

|in conversation environment | | | | |

|Microsoft Exchange contacts |MAPI (pushed) |MAPI (pushed) |EWS (subscription) |EWS (subscription) |

|integration (Contacts merge | | | | |

|and search) | | | | |

|Write conversation history |MAPI (on demand) |MAPI (on demand) |EWS (on demand) |EWS (on demand) |

|to Microsoft Exchange | | | | |

|Contacts creation in |Not applicable |Not applicable |EWS (on demand) |EWS (on demand) |

|Microsoft Exchange (sync) | | | | |

|Free/Busy calendar |MAPI (polled) |MAPI (polled) |EWS (polled) |EWS (polled) |

|information | | | | |

|Working hours |Not applicable |Not applicable |EWS (polled) |EWS (polled) |

|Out-of-Office message |MAPI (polled) |MAPI (polled) |EWS (polled) |EWS (polled) |

|Microsoft Exchange delegates|MAPI (pushed) |MAPI (pushed) |Not applicable |Not applicable |

Lync 2010 Client

The following diagram shows the interaction path between Lync 2010 and Microsoft Exchange.

[pic]

Figure 27. Lync 2010 and Exchange Web Services (EWS) integration

Lync 2010 queries Outlook for the connection address for Exchange Web Services (EWS). If Outlook is not installed, Lync 2010 queries for the following Domain Name System (DNS) entries in this specific order:

1. Autodiscover.

2. _autodiscover._tcp.

After Lync 2010 has received the address for EWS, the client connects directly to EWS on the Exchange Server Client Access server to retrieve the required data from the Mailbox server, as shown in Figure 28.

[pic]

Figure 28. Lync 2010 client and MAPI integration

Access via MAPI is carried out locally by Lync 2010 client integration with Outlook. The requests are made to Outlook, and then Outlook forwards the request to the mailbox server, as shown in Figure 28.

It is important to understand the difference—the request via EWS is direct from the Lync 2010 client to Exchange Server, whereas with MAPI it is via the Outlook client.

Sign In Using Existing Authentication Mechanisms

Figure 29 shows the data flow when you use Lync 2010 Phone Edition for Polycom CX700 desk phone or LG-Nortel IP Phone 8540. This also applies to newly supported IP Phones (that is, Polycom CX600, Polycom CX3000, and Aastra 6725ip) when you sign in on the phone using user name and password authentication.

Lync 2010 Phone Edition discovers the EWS address by querying DNS for the Simple Mail Transfer Protocol (SMTP) address of the server running Microsoft Exchange. Then, it contacts the server running Microsoft Exchange by using any of the following URLs:









[pic]

Figure 29. EWS integration with Polycom CX700 and LG-Nortel IP8540

Devices running Lync 2010 Phone Edition receive all of their data stored in the server running Microsoft Exchange via EWS. Without a local Outlook client, they must use the autodiscovery capability of Microsoft Exchange to find the EWS location. The only query type available to Lync Phone Edition is a DNS-based query that uses one of the following http requests:

• /autodiscover/autodiscover.xml

• autodiscover./autodiscover/autodiscover.xml

After Lync 2010 Phone Edition makes a connection, the requests are sent to the Exchange Server Client Access server.

Newly Supported Authentication Mechanisms

Exchange Web Services (EWS) requires authentication before a client can access its services. This authentication method requires a user name and password or a client certificate. The Aries series IP phones (that is, the Polycom CX500 and Aastra 6721ip common area phones) require the use of a client certificate because they do not provide a user interface to input a user name and password. As a result, the Aries devices require a different method for receiving voice mail notifications—one that is different from the standard method of polling EWS, which requires user name and password (that is, NTLM or Digest) authentication.

With the new IP phones introduced for Lync Server 2010 (that is, Polycom CX600, Polycom CX3000, and Aastra 6725ip), while it is possible to sign in using a user name and password, users can also sign in using their phone/extension number and conference dial-in PIN.

Exchange Server 2010 provides notification via a SIP NOTIFY message which includes the number of new and old voice mails waiting in the inbox. As shown in Figure 30, Exchange sends the SIP NOTIFY message to the Front End pool, which in turn converts the NOTIFY into a presence state update to which endpoints can subscribe. This ensures that the Message Waiting Indicator (MWI) messages are received even by endpoints that cannot authenticate to EWS directly.

[pic]

Figure 30. MWI integration with the newly supported IP phones

In the SIP flow shown in Figure 31, the device sends a SUBSCRIBE request to the Self category, which ensures that it receives the presence information details for the user that is logged on. In addition, Lync Server sends a NOTIFY message (that is, the first NOTIFY shown in Figure 31) containing the details of the MWI entries.

When Exchange UM receives a voice mail for a user, the Exchange UM server sends a NOTIFY message (that is, the second NOTIFY shown in Figure 31) to the server running Lync Server 2010 with an updated MWI count, which is in turn forwarded to the endpoint that is logged on.

[pic]Figure 31. MWI call flow

In environments that are running versions of Microsoft Exchange that are earlier than Exchange 2010, the MWI capability is not available from Exchange UM and must be provided by a partner solution. Figure 32 illustrates the high-level flow for this scenario.

[pic]

Figure 32. Partner MWI call flow

Server Version Support

As each version of both Microsoft Exchange and Lync Server is released, new features are introduced and old ones are retired. The integration of these two products is a key feature, and it is important to understand which versions are supported together, and what configuration is required to integrate these two server products. For example, Exchange 2010 SP1 removes the requirement that the Exchange UM dial plan phone context match the Lync Server location profile name. Table 3 shows the currently supported integration matrix.

Table 3. Office Communications Server, Lync Server, and Exchange UM Support Matrix for Integration

|Office Communications Server or Lync |Exchange 2007 SP1 or SP2 Unified |Exchange 2010 Unified Messaging |Exchange 2010 SP1 Unified |

|Server version |Messaging | |Messaging |

|Office Communications Server 2007 |Supported only in an |Supported only in an |Not supported. |

| |on-premises deployment. Location |on-premises deployment. Location | |

| |profiles names and Exchange UM dial |profiles names and Exchange UM | |

| |plan phone contexts must match. |dial plan phone contexts must | |

| | |match. | |

|Office Communications Server 2007 R2 |Supported only in an |Supported only in an |Supported only in an on-premises|

| |on-premises deployment. Location |on-premises deployment. Location |deployment. Location profile |

| |profiles names and Exchange UM dial |profiles names and Exchange UM |names and Exchange UM dial plan |

| |plan phone contexts must match. |dial plan phone contexts must |phone contexts don’t have to |

| | |match. |match. |

|Lync Server 2010 |Supported only in an |Supported only in an |Supported in a |

| |on-premises deployment. Location |on-premises deployment. Location |cross-premises or enterprise |

| |profiles names and Exchange UM dial |profiles names and Exchange UM |deployment. Location profiles |

| |plan phone contexts must match. |dial plan phone contexts must |names and Exchange UM dial plan |

| | |match. |phone contexts don’t have to |

| | | |match. |

Call Routing

When a call is forwarded to voice mail, several steps occur before Lync Server 2010 determines which Exchange UM server to send the call to.

Trusted Servers

Lync Server 2010 and Office Communications Server, only communicate with servers that are configured as trusted servers. A trusted server is a server within the same Active Directory domain as the Lync Server or domains which have an inbound trust relationship with the domain where Lync Server is deployed, or a server that is explicitly added as a trusted server to the Lync Server deployment. In addition, the servers must have certificates issued from a trusted certification authority (CA). Exchange UM is no different in this matter, and requires a certificate trusted by Lync Server to allow communications to flow between Microsoft Exchange and Lync Server. The Exchange Client Access servers must also be configured with a certificate trusted by Lync Server because they initiate connections to Lync Server.

During the configuration of Exchange UM, the Microsoft Exchange administrator must run the Windows PowerShell™ script called exchucutil.ps1. This script adds the Lync Server 2010 group, RTCComponentUniversalServices, with read-only permissions to the following Exchange UM objects defined in Active Directory:

• UMDialPlan (msExchUmDialPlan)

• UMMailboxPolicy (msExchUMRecipientTemplate)

• UMIPGateway (msExchUMIPGateway)

• UMHuntGroup (msExchUMHuntGroup)

• UMAutoAttendant (msExchUmAutoAttendant)

• UMServer (msExchExchangeServer)

These permissions enable Lync Server 2010 to trust the servers running Exchange UM.

After Lync Server 2010 has permissions to read these Exchange UM objects, the Lync Server ExUmRouting service can route calls to the server running Exchange UM.

Routing to Exchange UM

The following flowchart shows how Lync Server determines which Exchange UM server to route a call for voice mail handle.

[pic]

Figure 33. Exchange UM routing call flow

Exumrouting.exe.config File

One consideration to keep in mind is what happens if the server running Exchange UM is unavailable to answer the call? By default, Lync Server 2010 and Office Communications Server attempt to route to a maximum of two Exchange UM servers, chosen at random, before dropping the call as failed.

This logic is defined in a configuration file used by the EXUMROUTING.EXE service. This configuration file is located in the %ProgramFiles%\Microsoft Lync Server 2010\Server\Core folder and is called EXUMROUTING.EXE.CONFIG.

The default file contents are as follows:

 

 

 

 

 

The following options are defined in this configuration file:

• Gcserver enabled = true   Specifies whether the service runtime runs server garbage collection. This should not be changed.

• ExumAttemptTimeLimit = x milliseconds   Sets the timeout period that server running Lync Server 2010 waits before it marks the Exchange UM server as failed and moves on to the next Exchange UM server in the list.

• ExumFinalAttemptTimeLimit = x milliseconds   Defines the maximum time permitted for the final Exchange UM server to respond. This should be larger than Exumattempttimelimit, allowing the server running Lync Server 2010 extra time in case there is an extremely poor network connection (rather than a server failure).

• ExumNumberOfServerToTry = x   Defines the maximum number of Exchange UM servers that the server running Lync Server 2010 attempts to connect before failing to transfer the call to voice mail.

• ExumTransport = port number   Defines the port number used to connect to the Exchange UM server. The default ports for Exchange UM are 5060 and 5061 for Transmission Control Protocol (TCP) and for Transport Layer Security (TLS) respectively. If for any reason the port number is changed, the change must be reflected in this setting.

Although we recommend that the servers running Lync Server and the Exchange UM servers are well connected (that is, with less than 120 ms latency), in some customer scenarios this may not be possible. For example, the connectivity may be across poor network links or in a scenario where a firewall negotiation is required, which delays the initial setup. Therefore, you may need to adjust the timeout values for the settings, ExumAttemptTimeLimit and ExumFinalAttemptTimeLimit, based on network conditions.

We recommend that you increase the default value of ExumNumberOfServerToTry from two to the number of Exchange UM servers that the server running Lync Server 2010 can connect to. This ensures that all Exchange UM servers are attempted, which helps ensure the successful routing of the call to voice mail.

In a scenario where connectivity to the Exchange UM servers is completely lost (for example, data center failure), the Exchange UM servers are marked as unavailable. Lync Server retrieves the list of Exchange UM servers from the trusted servers list.

Direct from the Source

Arbitration Mailbox Relation to Exchange UM

Byron Spurlock

Quadrantechnologies \ Founder – Principal Architect

The days of the Lync Server administrator not having a care in the world about what is happening on the Microsoft Exchange side of the organization are over. Today, more than ever, the Lync Server administrator has to be concerned about what is happening with regards to a migration from Exchange 2007 to Exchange 2010, or, better yet, just a simple decommissioning of an Exchange 2010 mailbox server.

Exchange 2010 contains a mailbox called "arbitration." The arbitration mailbox is used in a couple of ways. One purpose is where the arbitration mailbox is used to store the original messages that are awaiting approval from a specific user in the organization that was chosen by the administrator. In this scenario, a preset group of recipients are protected from getting email from just any user. For example the “all company user” DL that exists in many organizations.

A secondary purpose for an arbitration mailbox is as a location for storing custom prompts for the Exchange Auto Attendant. In Exchange 2007, an Exchange UM administrator creates a custom prompt either by using the Exchange Management Console or by publishing the prompt to the server running Exchange UM by using the Copy-UMCustomPrompt cmdlet. The .wav file for the prompt is stored on each Exchange UM server for each dial plan and Auto Attendant GUID subdirectory. If there are multiple Exchange UM servers hosting the same dial plan, the prompt is replicated by using the File Replication Service (FRS). Before you can remove the first Exchange UM server that hosts a particular dial plan which is also the default publishing point for custom prompts you needed to change the publishing point by using the Set-UMDialPlan cmdlet with the PromptPublishingPoint parameter to point the dial plan to another Exchange UM server.

In Exchange 2010, the Exchange UM server architecture has changed. Instead of putting the custom prompts in a file location and depending on the Exchange FRS to replicate the file, Exchange 2010 UM now takes advantage of the availability of the arbitration mailbox. All custom prompts are stored in the system arbitration mailbox. When a server running Exchange 2010 UM starts, the server loads all of the custom prompts from the system arbitration mailbox to the mailbox.

With the handling of the arbitration mailbox in Exchange 2010 there are some things that a Lync Server administrator needs to be aware of. If the first Exchange 2010 mailbox server (contains the arbitration mailbox by default) becomes unresponsive or is removed without rehoming the arbitration mailbox to another mailbox server, the Exchange 2010 UM server will fail and the Exchange UM service will not start. An error message appears indicating that there is an error accessing the arbitration mailbox and no custom prompts can be created by the Microsoft Exchange administrator.

Currently, several deployment methods exist to protect your Exchange UM servers from possible outages or connection failures, through multiple gateway connections or by adding multiple Exchange UM servers to your deployment. However, with the introduction of the arbitration mailbox that is available with Exchange 2010, a new single point of failure has just been introduced to the environment if high-availability scenarios are not considered for mailbox servers.

A suggestion around providing high availability with Exchange 2010 is the introduction of a database availability group (DAG) in Exchange 2010. A DAG is the high-availability and site-resiliency framework that was introduced in Exchange 2010. A DAG is a group of up to 16 mailbox servers that host a set of databases and provide automatic database-level recovery from failure. Now with the arbitration mailbox resting in a database, you can provide some redundancy to this all important mailbox that enables Exchange UM to use custom prompts for the Auto Attendant.

Exchange 2010 has been improved to deal with arbitration mailbox deletion and various other resiliency scenarios, which could cause problems in Exchange 2007. Before you do anything to the arbitration mailbox, get details about it by using the Get-Mailbox –Arbitration cmdlet.

Assuming that there are no custom prompts in an Exchange 2010 UM dial plan/Auto Attendant, you can remove the system arbitration mailboxes. However, in the case where the arbitration mailboxes exist, the Exchange 2010 administrator needs to provide redundancy for the arbitration mailboxes by ensuring that the arbitration mailboxes are located on a database that is provisioned with a DAG.

Diagnostic Codes for Lync Server Exchange UM Routing

Lync Server and Exchange UM provide diagnostic codes that you can use to troubleshoot routing issues between the two environments. The Lync Server Exchange UM routing service (that is, EXUMROUTING.EXE) has been allocated the ms-diagnostic code range 15000-15499. The Exchange UM application has been allotted the ms-diagnostic code range 15500-15599. Some of the more common ms-diagnostic codes initiated from Lync Exchange UM routing, their description, and potential resolutions are described in Table 4.

Table 4. Exchange UM Integration Diagnostic Codes

|Error Code |Description |Potential Resolution |

|15003 - DIAL_PLAN_IS_UNKNOWN |Lync Server may not have permissions to read the Active |Verify that the dial plan exists, and|

| |Directory object for this dial plan. For example, there |that Lync Server has permission to |

| |may be trust issues across forests. |read the Active Directory objects. |

|15004 - DIAL_PLAN_HAS_NO_SERVERS |This issue may occur when a Microsoft Exchange | |

| |administrator removes all Exchange UM servers from a dial | |

| |plan or disables them during a maintenance period. | |

|15007 - UM_SERVER_DID_NOT_ |The call could not be routed to voice mail because the |Verify that the Exchange UM server is|

|RESPOND_TO_REQUEST |Exchange UM server did not respond. This may occur if the |functioning properly. |

| |server is too busy. Administrators should reference the | |

| |dial plan and umserver attributes contained in the | |

| |diagnostic header of the impacted call, and verify that | |

| |the specified Exchange UM server is functioning properly. | |

| |If other servers are specified in the dial plan, Lync | |

| |Server typically try to failover. | |

|Error Code |Description |Potential Resolution |

|15030 - ROUTING_FAILURE |The call was unable to be routed to voice mail. |Other Lync Server routing failures to|

| |Diagnostics sent in the provisional responses contain more|voice mail will be grouped in this |

| |information. |failure. The provisional response |

| | |from Exchange UM may have additional |

| | |information. |

|15033 - ROUTING_FAILURE_FROM_PIC |The call was unable to be routed to Exchange UM servers. | |

| |This might happen because of mismatch in the capabilities | |

| |of the public IM client and Exchange UM servers. | |

| |Diagnostics sent in the provisional responses may contain | |

| |more information. | |

Hosted Exchange Integration

Exchange 2010 introduced hosted Exchange UM, which Lync Server can also integrate with.

The method of integration to hosted Exchange UM is different from an on-premises Exchange UM deployment because an on-premises Lync Server deployment does not have access to the hosted Exchange UM server and dial plan information. Rather, Lync Server 2010 relies on users being enabled for hosted Exchange UM, a hosted voice mail policy, and routing capability to hosted Exchange UM via the Edge Server. The same Exchange UM scenarios are supported with hosted Exchange UM: call answering, subscriber access, and Auto Attendant.

Topology

Hosted Exchange UM can be the sole voice messaging solution or it can be integrated simultaneously with on-premises Exchange UM deployments (that is, in a single-forest or multiple-forest deployment). Figure 34 illustrates the integration with both on-premises and hosted Exchange UM.

[pic]

Figure 34. Hosted Exchange UM topology

Edge Server Configuration

Lync Server routes calls (that is, signaling and media) to hosted Exchange UM through the Edge Server. Routing to hosted Exchange UM is enabled by adding the Exchange Online domain as a “shared service provider” on the Edge Server. This configuration allows Lync Server to share the same SIP namespace with the hosted service for users (for example, Lync Online) or voice messaging (for example, Exchange Online).

Figure 35 illustrates the shared provider configuration for Exchange Online, which is indicated as EXO in the Provider column.

[pic]

Figure 35. Edge Server configuration for hosted Exchange UM

User Configuration

Unlike on-premises Exchange UM integration where the Lync Exchange UM Routing service uses the user/server settings of Exchange UM, integrating with hosted Exchange UM relies on explicit user configuration. There are two actions that you must perform to enable a user for hosted Exchange UM:

1. Assign the user a hosted voice mail policy.

2. Enable the user for hosted voice mail.

Hosted Voice Mail Policy

The hosted voice mail policy contains two important pieces of information that enable hosted Exchange UM routing:

• Fully qualified domain name (FQDN) of the hosted Exchange UM Edge Server called destination. This is provided by the hosted Exchange UM provider and is used by the on-premises Edge Server to route to the hosted Edge Server.

• Tenant ID of the customer called organization. This is provided by the hosted Exchange UM provider and is used by the provider to connect the call to the appropriate destination within hosted Exchange UM.

Note that there isn’t an Exchange UM dial plan defined in the hosted voice mail policy. As a result, it is not included in the SIP INVITE to the Exchange UM, which is contrary to the scenario where you integrate with an on-premises deployment of Exchange UM. A key difference between hosted Exchange UM integration and on-premises integration is that hosted Exchange UM is able to resolve the Exchange UM dial plan based on the user’s SIP address and tenant settings in the SIP INVITE.

A hosted voice mail policy can be created either at a global or at a tag scope. While it is possible to define multiple hosted Exchange UM policies at the tag scope and assign these on a user-by-user basis, generally the global policy can be used because your organization will only use a single hosted Exchange UM provider. The hosted voice mail policy is ignored for those users that are not enabled for hosted Exchange UM.

The creation of a new hosted voice mail policy will fail if the destination attribute value is not set in the Shared Address Space provider list on the Edge Server.

The following cmdlet is an example of how you can create a new hosted voice mail policy:

New-CsHostedVoicemailPolicy –Identity Boston –Destination apext.um. –Description "Hosted voice mail policy for Boston users." –Organization "corp1., corp2."

Enabling Users

Each user must also be enabled for hosted Exchange UM to provide an indication to Lync Server that the user’s voice mail routing information can be found in the users hosted voice mail policy.

You enable hosted UM on the Active Directory user account attribute called ms-Exch-UC-Voice-Mail-Setting. This attribute is created by both the Lync Server 2010 and Exchange 2010 SP1 schema prep. The ms-Exch-UC-Voice-Mail-Setting attribute contains key/value pairs that are set by either Lync Server or Microsoft Exchange administrators.

The intention of this shared attribute design is that it is automatically set by Microsoft Exchange during mailbox moves to the cloud or if necessary by the Lync Server administrators if this wasn’t done via the mailbox move process or for troubleshooting. A value of 1 indicates that a user is enabled for hosted Exchange UM.

Lync administrators set this attribute to enable or disable users for hosted Exchange UM. For example:

Set-CsUser –Identify "Pilar Ackerman" –HostedVoiceMail $True

The valid key/value pairs for the ms-Exch-UC-Voice-Mail-Setting attribute are listed in Table 5.

Table 5. Hosted Exchange UM Voice Mail Values and Authors

|Value |Author |Meaning |

|ExchangeHostedVoiceMail=1 |Exchange Server |User is enabled for hosted Exchange UM by |

| | |Exchange Server. |

|ExchangeHostedVoiceMail=0 |Exchange Server |User is disabled for hosted Exchange UM by |

| | |Exchange Server. |

|CSHostedVoiceMailPolicy=1 |Lync Server |User is enabled for hosted Exchange UM by Lync |

| | |Server. |

|CSHostedVoiceMailPolicy=0 |Lync Server |User is disabled for hosted Exchange UM by Lync|

| | |Server. |

Contact Object Configuration

To call to subscriber access and Auto Attendants serviced by hosted Exchange UM, you must create Active Directory contact objects in the on-premises Active Directory. However, in this case you do not use the OCSUMUTIL.exe tool to manage hosted contact objects. You still use OCSUMUTIL.exe to create on-premises contact objects). You use the New-CsExUMContact and SetExUMContact cmdlets to manage hosted contact objects.

You must enable contact objects representing subscriber access and Auto Attendant for hosted voice mail and assign them a hosted voice mail policy, similar to user accounts. When you create a hosted contact object, the hosted contact object is automatically enabled for hosted Exchange UM by setting the contact object’s ms-Exch-UC-Voice-Mail-Settings attribute to CSHostedVoiceMailPolicy=1.

There are notable differences between a hosted contact object and an on-premises contact object. On the hosted contact object, the following apply:

1. You do not need to set the Exchange UM dial plan.

11. You must explicitly set the telephone number used for the Auto Attendant and subscriber access because hosted Exchange UM uses a telephone number to resolve to the appropriate Exchange UM dial plan instead of the dial plan name. The telephone number must match the subscriber access/Auto Attendant telephone number set on the hosted Exchange UM dial plan.

12. You must assign the contact object to a Lync Server dial plan to ensure that any calls to public switched telephone network (PSTN) phone numbers originating from a hosted Exchange UM are routed properly.

Call Routing

The Lync Server Exchange UM Routing service uses the presence of the value “1” for either of the ms-Exch-UC-Voice-Mail-Setting attributes keys (that is, ExchangeHostedVoiceMail=1 or CSHostedVoiceMailPolicy=1) for the following purposes:

1. Prior to a call it provides an indication that the user is enabled for Exchange UM. This is the equivalent of an Exchange UM setting in the on-premises user’s proxy address.

2. At the time of a call needing to be routed to voice mail it provides an indication that the user’s voice mail policy should be checked for routing details.

Note. The ms-Exch-UC-Voice-Mail-Setting setting takes precedence if both the hosted and on-premises settings are set simultaneously.

When routing a call to a hosted Exchange UM dial plan, the information contained in the voice mail policy will be used to construct the SIP INVITE. The fixed parameter, ms-organization, is used to identify the tenant’s ID (or IDs if multiple tenants are defined). The ROUTE header contains the address of the hosted Exchange UM target and an indication that the INVITE should be sent to the Edge Server.

Figure 36 illustrates the call flow from an on-premises Lync Server deployment to hosted Exchange UM.

[pic]

Figure 36. Hosted Exchange UM call flow

A sample INVITE from Exchange UM Routing service for a call answering scenario is outlined in the following section.

The following SIP messages are sample INVITES for a hosted Exchange UM call flow for an on-premises Lync Server user whose Exchange UM mailbox is hosted in Exchange Online. The Lync user, Bob, with SIP URI sip:bob@, calls Alice, with SIP URI sip:alice@, who is offline. Bob reaches Alice’s voice mail.

On-premises topology () is as follows:

apext. => External FQDN of on-premises Edge Server>

Exchange Online Edge Server topology (ap.um.):

ap.um. com => External FQDN of Exchange Edge Server

The hosted voice mail policy contains the following two attributes:

destination: ap.um.

organization: “, ”

The INVITE from Bob’s client is as follows:

INVITE sip:alice@ SIP/2.0

From: ;tag=51ee970b19;epid=2faaeb28bd

To:

CSeq: 1 INVITE

Call-ID: 35e328af2bdd4b02bc74325f2e57bd9d

Via: SIP/2.0/TLS 10.121.131.167:49925

Max-Forwards: 70

Contact:

User-Agent: UCCAPI/4.0.7306.0 OC/4.0.7306.0 (Microsoft Lync 2010)

Supported: ms-dialog-route-set-update

Ms-Conversation-ID: Acr9D1yGEV7WsxGSQ7K0S5B5aN8IZA==

Supported: timer

Supported: histinfo

Supported: ms-safe-transfer

Supported: ms-sender

Supported: ms-early-media

Supported: 100rel

ms-keep-alive: UAC;hop-hop=yes

Allow: INVITE, BYE, ACK, CANCEL, INFO, UPDATE, REFER, NOTIFY, BENOTIFY, OPTIONS

Accept-Language: en-US

P-Preferred-Identity:

Supported: replaces

Supported: ms-conf-invite

Proxy-Authorization: NTLM qop="auth", realm="SIP Communications Service", opaque="7A5A63AD", targetname="director.", crand="082638d9", cnum="64", response="0100000065623238c7f16295bc9a35ca"

Content-Type: multipart/alternative;boundary="----=_NextPart_000_174B_01CAFCD4.B05C0F50"

Content-Length: 4216

Message-Body:

This INVITE is forwarded by the on-premises pool’s Front End Server to the on-premises Edge Server as follows:

INVITE sip:alice@;ms-organization=% SIP/2.0

From: "bob";tag=51ee970b19;epid=2faaeb28bd

To:

CSeq: 1 INVITE

Call-ID: 35e328af2bdd4b02bc74325f2e57bd9d

Record-Route: ;tag=2E523952F90EBF6A0876F538061E9AAE

Via: SIP/2.0/TLS 192.168.0.240:49551;branch=z9hG4bK54546FB6.05BD129DEDD0723B;branched=TRUE;ms-ts="Wed, 26 May 2010 20:09:31 GMT 78"

Max-Forwards: 9

Content-Length: 4216

Via: SIP/2.0/TLS 192.168.0.244:53089;branch=z9hG4bK76669662.AEB74473EDCD823B;branched=FALSE;ms-ts="Wed, 26 May 2010 20:09:31 GMT 16";ms-received-port=53089;ms-received-cid=45E00

Via: SIP/2.0/TLS 192.168.0.245:51884;branch=z9hG4bKFA8F2191.6F3F9938C74DC23B;branched=FALSE;ms-ts="Wed, 26 May 2010 20:09:31 GMT 0";ms-received-port=51884;ms-received-cid=11500

Via: SIP/2.0/TLS 10.121.131.167:49925;ms-received-port=49925;ms-received-cid=E100

ms-application-via: ms-icr-to;ms-pool=se.;ms-application=http%3A%2F%2F%2FLCS%2FInterClusterRouting;ms-server=se.

ms-application-via: SIP;ms-urc-rs-from;ms-server=se.;ms-pool=se.;ms-application=ad894dc3-55e0-44bf-a07e-3c073aaa4a57

P-Asserted-Identity: "bob"

ms-application-via: SIP;ms-urc-from;ms-server=director.;ms-pool=director.;ms-application=ad894dc3-55e0-44bf-a07e-3c073aaa4a57

Contact:

User-Agent: UCCAPI/4.0.7306.0 OC/4.0.7306.0 (Microsoft Lync 2010)

Supported: ms-dialog-route-set-update

Ms-Conversation-ID: Acr9D1yGEV7WsxGSQ7K0S5B5aN8IZA==

Supported: timer

Supported: histinfo

Supported: ms-safe-transfer

Supported: ms-sender

Supported: ms-early-media

Supported: 100rel

ms-keep-alive: UAC;hop-hop=yes

Allow: INVITE, BYE, ACK, CANCEL, INFO, UPDATE, REFER, NOTIFY, BENOTIFY, OPTIONS

Accept-Language: en-US

Supported: replaces

Supported: ms-conf-invite

Content-Type: multipart/alternative;boundary="----=_NextPart_000_174B_01CAFCD4.B05C0F50"

ms-edge-proxy-message-trust: ms-source-type=InternetUser;ms-ep-fqdn=ap-fed14.;ms-source-verified-user=verified

Referred-By: ;ms-identity="MIH7BgkqhkiG9w0BBwKgge0wgeoCAQExDzANBgkqhkiG9w0BAQUFADALBgkqhkiG9w0BBwExgcYwgcMCAQEwHTAPMQ0wCwYDVQQDEwRNeUNhAgphCSrcAAAAAAAEMA0GCSqGSIb3DQEBBQUAMA0GCSqGSIb3DQEBAQUABIGAQ0FTNfnb1wiRSqkyoAap14thvxgg+v5pDZnLHeODFst8g1bjX4LklzWJBCLYY3pYznN7GqXM3grP1Gu0G1yzFz5gE7uUVS/d7awGEyoy1WyZAe6yy8xvqr2Z5t7dkNrNxcCTs9E0E+rusja5IYXEgq56cFVuqkxVcDyt+yRB7CY=:Wed, 26 May 2010 20:09:31 GMT";ms-identity-info="sip:se.:5061;transport=tls";ms-identity-alg=rsa-sha1

ms-target-class: Primary

Ms-Mras-Address:

Supported: ms-fe

Diversion: ;reason=unknown

Route: ;ms-edge-route

ms-split-domain-info: ms-traffic-type=SplitIntra

ms-user-data: ms-publiccloud=TRUE;ms-federation=TRUE

Message-Body:

The INVITE is modified by the on-premises Edge Server before being routed to hosted Exchange UM in the cloud:

INVITE sip:alice@;ms-organization=% SIP/2.0

From: "bob";tag=51ee970b19;epid=2faaeb28bd

To:

CSeq: 1 INVITE

Call-ID: 35e328af2bdd4b02bc74325f2e57bd9d

Record-Route: ;ms-rrsig=eaiJiCufQvwJE0uLcYXrPmw41KByOSzzV-vX7nPnFgnaR8ae-tfoLKIQAA;tag=4F6859231D0463B88E7DB01A357B4DF2

Via: SIP/2.0/TLS 10.176.19.39:51892;branch=z9hG4bK17B2FB90.ADEF697CC752A23B;branched=FALSE;ms-ts="Wed, 26 May 2010 20:09:31 GMT 16";ms-internal-info="bgkEE6bgcF0F5h5tagY6zSYDwsov0_n9aJ7VoKw_DotnJ8ae-tVc2dIQAA"

Max-Forwards: 7

Via: SIP/2.0/TLS 192.168.0.244:53137;branch=z9hG4bKD71A2111.FCC8F5CFEDD1623B;branched=FALSE;ms-ts="Wed, 26 May 2010 20:09:31 GMT 16";ms-received-port=53137;ms-received-cid=D800

Record-Route: ;tag=26F5AEA66C56EAA031E5595A8159C504

Via: SIP/2.0/TLS 192.168.0.240:49551;branch=z9hG4bK54546FB6.05BD129DEDD0723B;branched=TRUE;ms-ts="Wed, 26 May 2010 20:09:31 GMT 78";ms-received-port=49551;ms-received-cid=11300

Record-Route: ;tag=2E523952F90EBF6A0876F538061E9AAE

Content-Length: 4216

Via: SIP/2.0/TLS 192.168.0.244:53089;branch=z9hG4bK76669662.AEB74473EDCD823B;branched=FALSE;ms-ts="Wed, 26 May 2010 20:09:31 GMT 16";ms-received-port=53089;ms-received-cid=45E00

Via: SIP/2.0/TLS 192.168.0.245:51884;branch=z9hG4bKFA8F2191.6F3F9938C74DC23B;branched=FALSE;ms-ts="Wed, 26 May 2010 20:09:31 GMT 0";ms-received-port=51884;ms-received-cid=11500

Via: SIP/2.0/TLS 10.121.131.167:49925;ms-received-port=49925;ms-received-cid=E100

P-Asserted-Identity: "bob"

Contact:

User-Agent: UCCAPI/4.0.7306.0 OC/4.0.7306.0 (Microsoft Lync 2010)

Supported: ms-dialog-route-set-update

Ms-Conversation-ID: Acr9D1yGEV7WsxGSQ7K0S5B5aN8IZA==

Supported: timer

Supported: histinfo

Supported: ms-safe-transfer

Supported: ms-sender

Supported: ms-early-media

Supported: 100rel

ms-keep-alive: UAC;hop-hop=yes

Allow: INVITE, BYE, ACK, CANCEL, INFO, UPDATE, REFER, NOTIFY, BENOTIFY, OPTIONS

Accept-Language: en-US

Supported: replaces

Supported: ms-conf-invite

Content-Type: multipart/alternative;boundary="----=_NextPart_000_174B_01CAFCD4.B05C0F50"

Referred-By: ;ms-identity="MIH7BgkqhkiG9w0BBwKgge0wgeoCAQExDzANBgkqhkiG9w0BAQUFADALBgkqhkiG9w0BBwExgcYwgcMCAQEwHTAPMQ0wCwYDVQQDEwRNeUNhAgphCTB6AAAAAAAGMA0GCSqGSIb3DQEBBQUAMA0GCSqGSIb3DQEBAQUABIGARGaxn6/5YEdrk4bNRjEfw9ajjd7z5F2fIfziCvv+CqDfeUu2Js4+KJg4iigxM+YVsSQn9C+yzFqM52PzhMFzbAyyFxdGca2pST8W8zUa7a8KyLH+mVR4LAbjRwHW5RwB/1V93RCPnz0UnneGvAeCOg4D+AEYMZQzqvfu78xUPdM=:Wed, 26 May 2010 20:09:31 GMT";ms-identity-info="sip:apext.:5061;transport=tls";ms-identity-alg=rsa-sha1

ms-target-class: Primary

Ms-Mras-Address:

Supported: ms-fe

Diversion: ;reason=unknown

Route:

ms-split-domain-info: ms-traffic-type=SplitIntra

Message-Body:

................
................

In order to avoid copyright disputes, this page is only a partial summary.

Google Online Preview   Download