Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 133

Microsoft Certified Solutions Master ®

MCSM: Messaging

Unified Messaging

Paul Robichaux

©2013 Microsoft Corporation. All rights reserved. MCSM NDA Confidential. Do not distribute. For individual readiness purposes only.
©2012 MCSM: Messaging Version 1.0, Updated 4/16/2013
Instructor Intro

• Bio
• Long-time Exchange administrator, writer, consultant

• Contact Info
• http://paulrobichaux.wordpress.com
• @paulrobichaux
• Skype: paulrobichaux
• paul@robichaux.net

©2013 Microsoft Corporation. All rights reserved. MCSM NDA Confidential. Do not distribute. For individual readiness purposes only. MCSM: Messaging- Version 1.0, Updated 4/16/2013
Module Overview

• UM architecture
• Various interesting aspects of various UM
functions
• Lync integration

©2013 Microsoft Corporation. All rights reserved. MCSM NDA Confidential. Do not distribute. For individual readiness purposes only. MCSM: Messaging- Version 1.0, Updated 4/16/2013
What Exchange UM Does

 Answers the telephone


 Plays an individual’s greeting

 Optionally records a voice message

 Sends missed call notifications

 Provides automated attendant service

 Offers voice message playback options:


 E-mail client: Outlook, Outlook Web Access,
or Exchange Active Sync
 Telephone: Outlook Voice Access

©2013 Microsoft Corporation. All rights reserved. MCSM NDA Confidential. Do not distribute. For individual readiness purposes only. MCSM: Messaging- Version 1.0, Updated 4/16/2013
Exchange UM Architecture

©2013 Microsoft Corporation. All rights reserved. MCSM NDA Confidential. Do not distribute. For individual readiness purposes only. MCSM: Messaging- Version 1.0, Updated 4/16/2013
Major UM Features In Exchange 2010

 Protected Voice Mail


• AD RMS protection for voice mails marked “private”

 Message Waiting Indicator (MWI) support


 Call Answering Rules
 Voice Mail Preview
• Speech-to-text preview of voice mail messages
• Can be sent to 3rd-party transcription services

 Vastly expanded language support


 Fax over IP through partners
 Presence integration in OWA

©2013 Microsoft Corporation. All rights reserved. MCSM NDA Confidential. Do not distribute. For individual readiness purposes only. MCSM: Messaging- Version 1.0, Updated 4/16/2013
Exchange 2013 UM Architecture

• In 2010, UM was a separate role


• In 2013, the UM role splits in two

• CAS 2013 • Mailbox 2013


• Runs UM Call Router • Runs UM service
service • Runs UM worker process
• Accepts call requests • Answers calls
• Decides on target mailbox • Produces / consumes
server media streams
• Sends SIP REDIRECT • Offers all services of E14
message UM: call answering, AA,
• Doesn’t accept or generate OVA, etc.
media streams
©2013 Microsoft Corporation. All rights reserved. MCSM NDA Confidential. Do not distribute. For individual readiness purposes only. MCSM: Messaging- Version 1.0, Updated 4/16/2013
Exchange 2013 UM Architecture

• Can be combined on multi-role servers


• Call still goes to UM Call Router service
• Which redirects to UM service
• Which redirects to UM worker process using SIP
REDIRECT

• Scalability impact
• Only public guidance is in Jeff Mealiffe’s EHLO post
• Still recommended max of 100 concurrent calls
• UM Call Router is very lightweight

©2013 Microsoft Corporation. All rights reserved. MCSM NDA Confidential. Do not distribute. For individual readiness purposes only. MCSM: Messaging- Version 1.0, Updated 4/16/2013
Routing changes

• New routing architecture means that any UM


server can answer calls for any user

• Recommendation: add all UM servers to all dial


plans

• If this doesn’t make sense it will later

©2013 Microsoft Corporation. All rights reserved. MCSM NDA Confidential. Do not distribute. For individual readiness purposes only. MCSM: Messaging- Version 1.0, Updated 4/16/2013
Where the traffic goes

Communication TCP PORT Notes


type

SIP to CAS 5060 (unsecured) The CAS listens for inbound SIP traffic
UMCallRouterServic 5061 (secured) on these ports; you can change them
e.exe with Set-UMCallRouterSettings.

SIP to mailbox 5062 (unsecured) The Mailbox role listens for inbound
UMService.exe 5063 (secured) SIP from the CAS on these ports; they
cannot be changed.

SIP to UM worker 5065 & 5067 All four ports are used when
process (unsecured) UMStartupMode is set to Dual. If it’s
5066 & 5068 set to TCP or TLS, only 5065 and 5066
(secured) are used. These ports can’t be
changed.

©2013 Microsoft Corporation. All rights reserved. MCSM NDA Confidential. Do not distribute. For individual readiness purposes only. MCSM: Messaging- Version 1.0, Updated 4/16/2013
New Features

©2013 Microsoft Corporation. All rights reserved. MCSM NDA Confidential. Do not distribute. For individual readiness purposes only. MCSM: Messaging- Version 1.0, Updated 4/16/2013
Unified Contact Store

• Lync and Exchange contacts are now stored


together in Exchange
• New “Lync Contacts” folder
• New Lync component (Lync Storage System, or
LYSS) provides abstraction layer for storage
management

• Stored in two parts


• Visible “Lync Contacts” folder has the actual
contacts
• Hidden folder in mailbox has tags, groups, etc.

©2013 Microsoft Corporation. All rights reserved. MCSM NDA Confidential. Do not distribute. For individual readiness purposes only. MCSM: Messaging- Version 1.0, Updated 4/16/2013
Unified Contact Store

• Not yet completely synced


• Adding / changing contacts in Lync 2013 updates Lync
Contacts folder
• Can’t currently add / change contacts in Lync Contacts
folder itself

©2013 Microsoft Corporation. All rights reserved. MCSM NDA Confidential. Do not distribute. For individual readiness purposes only. MCSM: Messaging- Version 1.0, Updated 4/16/2013
Unified Contact Store

• No changes required on the Exchange side


• For Lync, use Set-CsUserServicesPolicy to enable
UCS for use

1.Lync 2013 client will send “ms-ucs-supported”


header to server indicating that it can accept UCS
2.Server will use LYSS to migrate users’ contacts to
UCS
3.Client will get a dialog telling them to relaunch Lync
4.Lync Contacts folder will appear

©2013 Microsoft Corporation. All rights reserved. MCSM NDA Confidential. Do not distribute. For individual readiness purposes only. MCSM: Messaging- Version 1.0, Updated 4/16/2013
Archiving

• Key enabler for Office 2013: unified archiving and


search
• SharePoint 2013 has records management / search
interface
• Search Foundation on Exchange can search data stored
in mailboxes & public folders

©2013 Microsoft Corporation. All rights reserved. MCSM NDA Confidential. Do not distribute. For individual readiness purposes only. MCSM: Messaging- Version 1.0, Updated 4/16/2013
Archiving

• Lync data is integrated into Exchange in-place


hold feature
• Same architecture, same search tools, but with unified
results that include Exchange & Lync content
• Archiving in three modes
• None
• Archiving to Exchange
• Archiving to standard Lync archive (SQL Server)

©2013 Microsoft Corporation. All rights reserved. MCSM NDA Confidential. Do not distribute. For individual readiness purposes only. MCSM: Messaging- Version 1.0, Updated 4/16/2013
Archiving

• Can archive IM traffic or IM traffic + web


conferences
• Archived items are stored in users’ Purges folder
under Recoverable Items
• Like other archived Exchange items, not visible to users
with Outlook or OWA
• Same RBAC and permissions requirements for
search of archived Lync data

©2013 Microsoft Corporation. All rights reserved. MCSM NDA Confidential. Do not distribute. For individual readiness purposes only. MCSM: Messaging- Version 1.0, Updated 4/16/2013
High-Res Photos

• Exchange / Outlook 2010 supported 96 x 96


thumbnails
• Stored in AD
• Maximum 10KB size

• Lync 2010 stretches these, and they look terrible

©2013 Microsoft Corporation. All rights reserved. MCSM NDA Confidential. Do not distribute. For individual readiness purposes only. MCSM: Messaging- Version 1.0, Updated 4/16/2013
High-Res Photos

• User photos now max out at 648 x 648


• Exchange downsamples to 64 x 64, 96 x 96
• Automatically updates AD thumbnailPhoto
• Available through EWS
• Used by Outlook 2010/2011/2013, OWA 2013, Lync
2010/2013, Lync Web App
• Lync 2013 & LWA 2013 get the high-res version

©2013 Microsoft Corporation. All rights reserved. MCSM NDA Confidential. Do not distribute. For individual readiness purposes only. MCSM: Messaging- Version 1.0, Updated 4/16/2013
High-Res Photos

• Users can upload


their own photos
through ECP
• Admins can set
using Set-
UserPhoto

©2013 Microsoft Corporation. All rights reserved. MCSM NDA Confidential. Do not distribute. For individual readiness purposes only. MCSM: Messaging- Version 1.0, Updated 4/16/2013
Call answering flow

©2013 Microsoft Corporation. All rights reserved. MCSM NDA Confidential. Do not distribute. For individual readiness purposes only. MCSM: Messaging- Version 1.0, Updated 4/16/2013
Yuck! Time for a quick protocol overview

• SIP
• RTP / SRTP
• TDM
• QSIG
• POTS
• FXO / FXS

©2013 Microsoft Corporation. All rights reserved. MCSM NDA Confidential. Do not distribute. For individual readiness purposes only. MCSM: Messaging- Version 1.0, Updated 4/16/2013
Basic UM Flow

1. Inbound call arrives at PBX


2. PBX rings user phone
3. On busy/no answer, call is transferred to
Exchange UM Call Router on CAS
4. Call Router determines endpoint and redirects
call

©2013 Microsoft Corporation. All rights reserved. MCSM NDA Confidential. Do not distribute. For individual readiness purposes only. MCSM: Messaging- Version 1.0, Updated 4/16/2013
Basic UM flow

5. Call is answered
6. Greeting retrieved and played back
7. Caller input accepted
• For Automated Attendant, further call routing
• For Call Answering Rules, further call routing
• For “plain” UM, caller message recorded

©2013 Microsoft Corporation. All rights reserved. MCSM NDA Confidential. Do not distribute. For individual readiness purposes only. MCSM: Messaging- Version 1.0, Updated 4/16/2013
Basic UM Flow (cont’d)

8. For “plain” UM, further message processing


• Calling Line ID (CLID) resolution
• Transcription with Voice Mail Preview
• AD RMS protection if message marked private
• Message submitted to transport for delivery
• Message Waiting Indicator (MWI) set

©2013 Microsoft Corporation. All rights reserved. MCSM NDA Confidential. Do not distribute. For individual readiness purposes only. MCSM: Messaging- Version 1.0, Updated 4/16/2013
UM Call Flow Whiteboard

©2013 Microsoft Corporation. All rights reserved. MCSM NDA Confidential. Do not distribute. For individual readiness purposes only. MCSM: Messaging- Version 1.0, Updated 4/16/2013
Voicemail

©2013 Microsoft Corporation. All rights reserved. MCSM NDA Confidential. Do not distribute. For individual readiness purposes only. MCSM: Messaging- Version 1.0, Updated 4/16/2013
Leaving a Voicemail

 Call comes in from the PSTN


 Call hits the PBX
 Callee’s phone rings for preset period of time
• If unanswered or busy, call returns to the PBX

 PBX is configured to forward it internally to ExUM


(possibly through a gateway)
 Callee’s extension will belong to an attendant
group
• attendant group will be associated to a pilot identifier
• pilot identifier is linked to a trunk group

©2013 Microsoft Corporation. All rights reserved. MCSM NDA Confidential. Do not distribute. For individual readiness purposes only. MCSM: Messaging- Version 1.0, Updated 4/16/2013
Voicemail Generation

2. UM resolves the
number (if possible)
and generates two
files:
- A header containing
caller and recipient
information
- An audio file

4. Transport
Delivers the
message
3. UM performs
an SMTP submit
to transport
5. Alice
receives the
voice
message

1. Bob calls
Alice and
leaves a
voice
message
Bob Alice

©2013 Microsoft Corporation. All rights reserved. MCSM NDA Confidential. Do not distribute. For individual readiness purposes only. MCSM: Messaging- Version 1.0, Updated 4/16/2013
Voicemail Header File

 Header file includes


 Indicator of whether it’s a VM or MCN
 Caller ID information: number and matched name
 Recipient name, SMTP address, language
 Call ID (used by UM as internal ID)
 Name of audio attachment and codec
 Importance and privacy flags

 Transport turns some of these to MAPI properties

©2013 Microsoft Corporation. All rights reserved. MCSM NDA Confidential. Do not distribute. For individual readiness purposes only. MCSM: Messaging- Version 1.0, Updated 4/16/2013
Calling Line ID resolution

©2013 Microsoft Corporation. All rights reserved. MCSM NDA Confidential. Do not distribute. For individual readiness purposes only. MCSM: Messaging- Version 1.0, Updated 4/16/2013
Caller ID Resolution

• People like to see names, not numbers


• Even home phones may show caller’s name
• Everyone in the org is in AD (probably with a
phone #), even if they are not UM-enabled

©2013 Microsoft Corporation. All rights reserved. MCSM NDA Confidential. Do not distribute. For individual readiness purposes only. MCSM: Messaging- Version 1.0, Updated 4/16/2013
Dial Plan Scoping

• Alice (Dial Plan A) calls Bob (Dial Plan B)


• Dial Plans A and B are on the same PBX
• Extension numbers are same length across A and B
• Extension numbers are unique across A and B

• UM 2007
• extension lookup only performed in Bob’s Dial Plan

• UM 2010+
• extension lookup performed in Bob’s DP and any other
Dial Plans specified by EquivalentDialPlanPhoneContexts

©2013 Microsoft Corporation. All rights reserved. MCSM NDA Confidential. Do not distribute. For individual readiness purposes only. MCSM: Messaging- Version 1.0, Updated 4/16/2013
CLID Lookup

E.164 resolution
• CallingLineIDs property on AD user
• NumberingPlanFormats property on Dial Plan
• Extend shorter numbers to multiple E.164 forms
Caller ID
31590 NumberingPlanFormats
1425421xxxx Extended number
1425703xxxx 14257031590
Try to match

1425704xxxx
1425708xxxx
1425722xxxx

©2013 Microsoft Corporation. All rights reserved. MCSM NDA Confidential. Do not distribute. For individual readiness purposes only. MCSM: Messaging- Version 1.0, Updated 4/16/2013
Equivalent Dial Plans for Lookup

• Dial Plans considered equivalent if they share the


same set of extensions (i.e., extensions are unique
across equivalent Dial Plans)
• To specify 2 or more Dial Plans as equivalent
• For each Dial Plan, copy PhoneContext attribute to the
EquivalentDialPlanPhoneContexts attribute of all other
equivalent Dial Plans using Set-UMDialPlan -
EquivalentDialPlanPhoneContexts

©2013 Microsoft Corporation. All rights reserved. MCSM NDA Confidential. Do not distribute. For individual readiness purposes only. MCSM: Messaging- Version 1.0, Updated 4/16/2013
AD Extension Lookup

• How it works
1. Create EUM proxy address using CLID and callee’s Dial
Plan PhoneContext attribute
2. Query against AD for user object containing this EUM
proxy address
3. If no match, create EUM proxy addresses using CLID and
EquivalentDialPlanPhoneContexts attribute on the
callee’s dialplan
4. Query against AD for user object containing one of
these EUM proxy addresses

©2013 Microsoft Corporation. All rights reserved. MCSM NDA Confidential. Do not distribute. For individual readiness purposes only. MCSM: Messaging- Version 1.0, Updated 4/16/2013
SIP Proxy Address Lookup

• If CLID is a SIP address


• Concatenate “sip:” with CLID and search AD for user or
contact with corresponding proxy address

©2013 Microsoft Corporation. All rights reserved. MCSM NDA Confidential. Do not distribute. For individual readiness purposes only. MCSM: Messaging- Version 1.0, Updated 4/16/2013
E.164 Resolution

• NumberingPlanFormats attribute added to dial


plan
• Multi-valued property
• Contains 0 or more number masks for extending
extensions and shorter phone numbers into E.164
format
• Replaces the use of InternationalNumberFormat for
caller ID resolution

©2013 Microsoft Corporation. All rights reserved. MCSM NDA Confidential. Do not distribute. For individual readiness purposes only. MCSM: Messaging- Version 1.0, Updated 4/16/2013
E.164 Resolution: NumberingPlanFormats

• Configurable through Set-UMDialPlan


• Cmdlets only, no EMC support

[PS] Set-UMDialPlan DP1 –NumberingPlanFormats “+1425421xxxx”,


“+1425703xxxx”,“+1425704xxxx”,“+142508xxxx”,“+1425722xxxx”

Caller ID
31590 NumberingPlanFormats
+1425421xxxx Extended number
+1425703xxxx +14257031590
Try to match

+1425704xxxx
+1425708xxxx
+1425722xxxx

©2013 Microsoft Corporation. All rights reserved. MCSM NDA Confidential. Do not distribute. For individual readiness purposes only. MCSM: Messaging- Version 1.0, Updated 4/16/2013
E.164 Resolutio

• Attribute UMCallingLineIDs added to User and


Contact objects in AD for storing phone numbers
• Multi-valued property so it can store multiple numbers
• Indexed and searchable
• Digit-string only (optionally preceded by “+”)
• Ensures phone numbers specified in predictable manner
• Unique across all user and contact objects
• No collisions
• Exchange-specific attribute
• Works in non-Lync (e.g. Cisco) environment

©2013 Microsoft Corporation. All rights reserved. MCSM NDA Confidential. Do not distribute. For individual readiness purposes only. MCSM: Messaging- Version 1.0, Updated 4/16/2013
E.164 Resolution

• Configurable through Set-User & Set-Contact


• Cmdlets only, no EMC support
• Can use ADSIEdit or other tools (not recommended as
digit-string type check is bypassed)

[PS] Set-User jsmith –UMCallingLineIDs “+14257061111”,“+14257062222”

©2013 Microsoft Corporation. All rights reserved. MCSM NDA Confidential. Do not distribute. For individual readiness purposes only. MCSM: Messaging- Version 1.0, Updated 4/16/2013
E.164 Resolution: In Order
1. Extend caller ID using NumberingPlanFormats
attribute on the callee’s DP if available
2. Perform AD lookup for user or contact object
against UMCallingLineIDs
3. If no perfect match is found, perform lookup
against msRTCSIP-Line

©2013 Microsoft Corporation. All rights reserved. MCSM NDA Confidential. Do not distribute. For individual readiness purposes only. MCSM: Messaging- Version 1.0, Updated 4/16/2013
AD Heuristic Lookup
• UM copies AD phone numbers to UMDtmfMap
attribute in reverse order (to allow suffix search),
including:
• telephoneNumber, otherTelephone
• homePhone, otherHomePhone
• mobile, otherMobile
• facsimileTelephoneNumber,
otherFacsimileTelephoneNumber
• Numbers are processed before copy, e.g.:
• Whitespace, separators removed
• Unrecognized characters dropped

©2013 Microsoft Corporation. All rights reserved. MCSM NDA Confidential. Do not distribute. For individual readiness purposes only. MCSM: Messaging- Version 1.0, Updated 4/16/2013
AD Heuristic Lookup

• Reversed phone number is generated when AD


phone number fields are updated using Set-
User/Set-Contact cmdlets.
• If the AD phone number fields are updated via
other means, you will need to wait for GAL
grammar generation to update the reversed fields

©2013 Microsoft Corporation. All rights reserved. MCSM NDA Confidential. Do not distribute. For individual readiness purposes only. MCSM: Messaging- Version 1.0, Updated 4/16/2013
AD Heuristic Lookup: How It Works

1. First, UM checks to see if


AllowHeuristicADCallingLineIDResolutio
n attribute on UM dial plan is set to true
(false by default)
2. Extend CLID if NumberingPlanFormats is
configured on the callee’s dialplan

©2013 Microsoft Corporation. All rights reserved. MCSM NDA Confidential. Do not distribute. For individual readiness purposes only. MCSM: Messaging- Version 1.0, Updated 4/16/2013
AD Heuristic Lookup: How It Works

3. Remove “prefixes” from CLID to obtain “core”


phone number
• Prefixes come from callee’s DP, e.g.
• Country or region code
• International access code
• National number prefix

©2013 Microsoft Corporation. All rights reserved. MCSM NDA Confidential. Do not distribute. For individual readiness purposes only. MCSM: Messaging- Version 1.0, Updated 4/16/2013
AD Heuristic Lookup: How It Works

4. Once the “core” CLID is obtained, extend it into


multiple search strings based on callee’s dial plan
attributes, e.g.:
• [+][Country code][National Number Prefix][Core CLID]
• [+][Country code][Core CLID]
• [Country code][Core CLID]
• [National Number Prefix][Core CLID]
• [+][Core CLID]
5. Try to resolve these search strings against
UMDtmfMap attributes. If multiples are found, we
prefer the one with the most specific prefix
©2013 Microsoft Corporation. All rights reserved. MCSM NDA Confidential. Do not distribute. For individual readiness purposes only. MCSM: Messaging- Version 1.0, Updated 4/16/2013
Personal Contacts Resolution

• Users may store contact phone numbers in


different format than PBX uses / expects
• CLID resolution logic assumes that contact phone
numbers and PBX phone numbers may have the
same suffixes

©2013 Microsoft Corporation. All rights reserved. MCSM NDA Confidential. Do not distribute. For individual readiness purposes only. MCSM: Messaging- Version 1.0, Updated 4/16/2013
Personal Contacts Resolution

1. Extend “raw” CLID to obtain “extended” CLID if


NumberingPlanFormats is configured on the
callee’s dialplan.
2. Remove prefixes from CLID(s) to obtain “core”
phone number(s)

©2013 Microsoft Corporation. All rights reserved. MCSM NDA Confidential. Do not distribute. For individual readiness purposes only. MCSM: Messaging- Version 1.0, Updated 4/16/2013
Personal Contacts Resolution

3. Once the “core” CLID(s) are obtained, extend


them into multiple search strings based on
callee’s dial plan attributes, e.g.:
• [+][Country code][National Number Prefix][Core CLID]
• [+][Country code][Core CLID]
• [Country code][Core CLID]
• [National Number Prefix][Core CLID]
• [+][Core CLID]
4. Try to resolve these search strings against
personal contacts for exact match
©2013 Microsoft Corporation. All rights reserved. MCSM NDA Confidential. Do not distribute. For individual readiness purposes only. MCSM: Messaging- Version 1.0, Updated 4/16/2013
Personal Contacts Resolution

• Applies to contacts in Unified Contact Store and


personal default Contacts folder only
• No public folder contacts
• No nested contacts folders

• Resolves against the following phone number


fields
• Business
• Business 2
• Home
• Home 2
• Mobile
• Mobile 2

©2013 Microsoft Corporation. All rights reserved. MCSM NDA Confidential. Do not distribute. For individual readiness purposes only. MCSM: Messaging- Version 1.0, Updated 4/16/2013
Personal Contacts Resolution

• May resolve against multiple contacts


• Considered unresolved
• Collisions indicated in message header

©2013 Microsoft Corporation. All rights reserved. MCSM NDA Confidential. Do not distribute. For individual readiness purposes only. MCSM: Messaging- Version 1.0, Updated 4/16/2013
Calling Name Display Support

• Many networks try to provide a name for the caller


as well as a number when the call offers
• e.g. { 4255551234, “JOE SMITH” }
• Some PBXs and gateways will pass on this
information to Exchange UM in the INVITE
• From: "JOE SMITH" <sip:4255551234@gw1.contoso.com>;vnd.pimg.port=2

• If UM cannot resolve the calling number to a


Contact or AD User, it will use the calling name
• Voice Mail from “JOE SMITH” (25 seconds)

©2013 Microsoft Corporation. All rights reserved. MCSM NDA Confidential. Do not distribute. For individual readiness purposes only. MCSM: Messaging- Version 1.0, Updated 4/16/2013
UM Languages

©2013 Microsoft Corporation. All rights reserved. MCSM NDA Confidential. Do not distribute. For individual readiness purposes only. MCSM: Messaging- Version 1.0, Updated 4/16/2013
Language Pack Components

• What we call a “language pack” has multiple


components
• Acoustic language model
• Statistical language model
• Prompts / grammar

• Note that Exchange UM doesn’t use a dictation


model!
• So no punctuation, other higher-order language
features
• Used throughout the UM experience

©2013 Microsoft Corporation. All rights reserved. MCSM NDA Confidential. Do not distribute. For individual readiness purposes only. MCSM: Messaging- Version 1.0, Updated 4/16/2013
Acoustic Language Model

• What does the language sound like?


• Humans are already pretty good at this

• Phonemes, cadences, etc.


• Many languages have distinct sounds
• Xhosa clicks, Chinese erhua, etc.

©2013 Microsoft Corporation. All rights reserved. MCSM NDA Confidential. Do not distribute. For individual readiness purposes only. MCSM: Messaging- Version 1.0, Updated 4/16/2013
Statistical Language Model

• What words, phrases, names, etc. to expect


• Partly language-dependent (e.g. German vs English verb
ordering)
• Partly domain dependent: people talk differently in voice
mails
• Can’t just import public audio to get this!

• Finish this sentence:


• “The weather tomorrow should be ________”

©2013 Microsoft Corporation. All rights reserved. MCSM NDA Confidential. Do not distribute. For individual readiness purposes only. MCSM: Messaging- Version 1.0, Updated 4/16/2013
Prompts and Grammar

• Synthesized and pre-recorded material


• Must be customized per language
• Can be used for automated attendants too
• No data analysis necessary
• This is the easiest part of language packs to create

©2013 Microsoft Corporation. All rights reserved. MCSM NDA Confidential. Do not distribute. For individual readiness purposes only. MCSM: Messaging- Version 1.0, Updated 4/16/2013
What We’ve Got Now

• 26 languages supported via language packs


• Exchange 2013 includes Voice Mail Preview for
• US English (en-US)
• Canadian English (en-CA)
• French (France) (fr-FR)
• Italian (it-IT)
• Polish (pl-PL)
• Portuguese (Portugal) (pt-PT)
• Spanish (Spain) (es-ES)

©2013 Microsoft Corporation. All rights reserved. MCSM NDA Confidential. Do not distribute. For individual readiness purposes only. MCSM: Messaging- Version 1.0, Updated 4/16/2013
Why These Languages?

©2013 Microsoft Corporation. All rights reserved. MCSM NDA Confidential. Do not distribute. For individual readiness purposes only. MCSM: Messaging- Version 1.0, Updated 4/16/2013
Adding a New Language

• Roughly logarithmic relationship between amount


of analyzed audio and accuracy

• If H hours yields X% accuracy, then 2*H hours only


gives you (X + (100 – X) / C) accuracy, where C is
“depressingly large”

• In practice: about 100 hours of voice mail to add a


brand-new language, and at least 200 hours to
improve the accuracy perceptibly

• Average voice mail is about 30 seconds…

©2013 Microsoft Corporation. All rights reserved. MCSM NDA Confidential. Do not distribute. For individual readiness purposes only. MCSM: Messaging- Version 1.0, Updated 4/16/2013
Voice Mail Preview

©2013 Microsoft Corporation. All rights reserved. MCSM NDA Confidential. Do not distribute. For individual readiness purposes only. MCSM: Messaging- Version 1.0, Updated 4/16/2013
Voice Mail Preview

 Voice mail preview uses Exchange speech engine


to do speech-to-text
• Language set by dial plan language
• First 30 sec of messages converted

 Transcription runs approx. real-time


• 1 core/min/min
• Arriving messages are queued in a single queue

 Messages skipped when


• >5 queued messages awaiting transcription

©2013 Microsoft Corporation. All rights reserved. MCSM NDA Confidential. Do not distribute. For individual readiness purposes only. MCSM: Messaging- Version 1.0, Updated 4/16/2013
Preview & Message Length

 Recognition gets worse with longer messages!


• Transcription based on statistical model
• The more a message deviates from the model, the worse
accuracy is
• In most deployments, 99% of VMs are <75 sec
• Longer ones tend to be much more specialized (and
thus fall outside the model)

• This is a change from 2010: messages >75 sec are


transcribed but transcription isn’t displayed

©2013 Microsoft Corporation. All rights reserved. MCSM NDA Confidential. Do not distribute. For individual readiness purposes only. MCSM: Messaging- Version 1.0, Updated 4/16/2013
Voice Mail Preview: Schema (1)

• Preview stored as XML prop on the message

66
©2013 Microsoft Corporation. All rights reserved. MCSM NDA Confidential. Do not distribute. For individual readiness purposes only. MCSM: Messaging- Version 1.0, Updated 4/16/2013
Voice Mail Preview: Schema (2)

• Text, timing, confidence, feature markup

67
©2013 Microsoft Corporation. All rights reserved. MCSM NDA Confidential. Do not distribute. For individual readiness purposes only. MCSM: Messaging- Version 1.0, Updated 4/16/2013
Support for Voice Mail Collection

• Goal: allow customers to configure UM to share


selected users’ call answer voice messages with
Microsoft for analysis and eventual improvement
of Voice Mail Preview
• Two properties on UM Mailbox Policy
• AllowVoiceMailAnalysis (Boolean: default = False)
• InformCallerOfVoiceMailAnalysis (Boolean: default = True)

• Collection covered by MS Privacy Policy


• Caller can opt out by marking message private
• Does not require Information Rights Management

©2013 Microsoft Corporation. All rights reserved. MCSM NDA Confidential. Do not distribute. For individual readiness purposes only. MCSM: Messaging- Version 1.0, Updated 4/16/2013
Voice Mail Preview Learning

 VMP learns new words from the messages in your


mailbox
• UM Mailbox Assistant gets “top N” list of words from
Exchange content index(including attachments)
• Words are sorted in frequency order, then compared to
VMP lexicon
• Unique words are added to the mailbox word list and
used for VMP transcription
• Depends on UM phonetic rules for pronunciation
• Control this schedule with Set-MailboxServer
-TopNWorkCycle and -TopNWorkCycleCheckpoint

©2013 Microsoft Corporation. All rights reserved. MCSM NDA Confidential. Do not distribute. For individual readiness purposes only. MCSM: Messaging- Version 1.0, Updated 4/16/2013
Protected voice mail

©2013 Microsoft Corporation. All rights reserved. MCSM NDA Confidential. Do not distribute. For individual readiness purposes only. MCSM: Messaging- Version 1.0, Updated 4/16/2013
Protected Voice Mail

 UM Mailbox policy sets:


• Protect messages marked by caller as “private”
• Protection on all messages
• Separate settings for internal & external users

 Protection applied when message is created


 No way to change “do not forward” template used

©2013 Microsoft Corporation. All rights reserved. MCSM NDA Confidential. Do not distribute. For individual readiness purposes only. MCSM: Messaging- Version 1.0, Updated 4/16/2013
Protected Voice Mail - Call Answering

4. UM automatically
3. The voice fetches recipient’s RMS
message is RAC credentials the first
2. UM generates the
encrypted and a time it protects a voice
protected voice
publishing license is message.
message.
appended.

1. Bob leaves 4. UM submits 5. Protected


a voice the message to voice message
message, the HT. delivered to
marks it as Alice’s mailbox
private and server
disconnects.

Bob Alice

©2013 Microsoft Corporation. All rights reserved. MCSM NDA Confidential. Do not distribute. For individual readiness purposes only. MCSM: Messaging- Version 1.0, Updated 4/16/2013
Protected Voice Mail - Playback

2. UM checks the
publishing license and 3. UM automatically
uses the RAC to crack fetches recipient’s RMS
open the protected credentials (“user license”)
VM. the first time it attempts
to open the message.

4. UM plays
1. Alice calls OVA
the voice
and
message of
authenticates.
the user.
She tries to play a
protected VM.

Alice

©2013 Microsoft Corporation. All rights reserved. MCSM NDA Confidential. Do not distribute. For individual readiness purposes only. MCSM: Messaging- Version 1.0, Updated 4/16/2013
Protected VM – Structure

Outer Message
RM Message Attachment (message.rpmsg)

Rights Management Control Data

Message The message you tried to open is protected


with Information Rights Management and can
shown in e- be opened using Microsoft Office Outlook
Inner Message

mail client 2010.If you aren't running an e-mail program


Message body.
applications that supports voice messages with restricted
permission, such as Outlook 2010 or Outlook
that do not Web App in Exchange 2010, you can listen to (Note that EVM is included as a
support PVM this message by using a telephone to sign in to separate attachment of the
message).
(e.g. Outlook your mailbox with Outlook Voice Access.

2011). Voice Attachment


(voicemail.umrmwxx)

Can be
customized ASR Data Attachment
via the UM (voicemail.umrmasr)

mailbox policy
property
ProtectedVoic
eMailText
The inner message contains
the protected voice message,
which include the audio and
the ASR properties.

©2013 Microsoft Corporation. All rights reserved. MCSM NDA Confidential. Do not distribute. For individual readiness purposes only. MCSM: Messaging- Version 1.0, Updated 4/16/2013
Message waiting indicator

©2013 Microsoft Corporation. All rights reserved. MCSM NDA Confidential. Do not distribute. For individual readiness purposes only. MCSM: Messaging- Version 1.0, Updated 4/16/2013
MWI Support

 MWI sent as a single SIP NOTIFY verb


 Broadly supported across multiple vendors
 Can be enabled or disabled on mailbox policy
 Either it works, or not; not much to troubleshoot

©2013 Microsoft Corporation. All rights reserved. MCSM NDA Confidential. Do not distribute. For individual readiness purposes only. MCSM: Messaging- Version 1.0, Updated 4/16/2013
MWI Implementation

 Voice Mail search folder monitored by Mailbox


server Mailbox Assistant
 If MWI status needs to change, UM Mailbox
Assistant sends SIP NOTIFY to the gateway/IP PBX
 PBX responsible for signaling to user
• Blinking light
• Stutter dial tone

 Communicator/Lync client uses the Voice Mail


search folder directly via EWS, not the Exchange
MWI feature

©2013 Microsoft Corporation. All rights reserved. MCSM NDA Confidential. Do not distribute. For individual readiness purposes only. MCSM: Messaging- Version 1.0, Updated 4/16/2013
MWI Notification (SIP)

• UM sends unsolicited SIP NOTIFY (NOTIFY without


SUBSCRIBE) to gateways for MWI notification

Voice-Message header indicates unread/total # of voice


messages

©2013 Microsoft Corporation. All rights reserved. MCSM NDA Confidential. Do not distribute. For individual readiness purposes only. MCSM: Messaging- Version 1.0, Updated 4/16/2013
Primary Extension Only

• MWI applies to primary extension only


• MWI is not sent to secondary extensions (whether
it is the same dialplan as primary extension or not)

©2013 Microsoft Corporation. All rights reserved. MCSM NDA Confidential. Do not distribute. For individual readiness purposes only. MCSM: Messaging- Version 1.0, Updated 4/16/2013
Notification race conditions
• Routing MWI notifications for the same phone
through different paths may result in notifications
arriving out-of-sequence
• To mitigate this issue, MBX Assistant ensures no
two MWI RPCs for the same mailbox are sent
within 40 seconds from each other. E.g.:
• MBX assistant detects changes to voice mail search
folder for mailbox X
• Last MWI RPC for mailbox X was sent 15 seconds ago
• MBX assistant waits for another 25 seconds before
updating MWI state

©2013 Microsoft Corporation. All rights reserved. MCSM NDA Confidential. Do not distribute. For individual readiness purposes only. MCSM: Messaging- Version 1.0, Updated 4/16/2013
Notification race conditions
• In addition, UM attempts to deliver each MWI
notification to gateway within 30 seconds on
receipt.
• If unsuccessful, notification is dropped and warning is
logged.
• Assuming low RPC latency, likelihood of MBX
assistant trying to submit a new MWI RPC while
another MWI notification for the same mailbox is
very low.

©2013 Microsoft Corporation. All rights reserved. MCSM NDA Confidential. Do not distribute. For individual readiness purposes only. MCSM: Messaging- Version 1.0, Updated 4/16/2013
Out-of-sync MWI
• Users may experience delay in MWI updates for
race conditions, e.g. :
• User receives a new voice mail.
• MBX assistant sends MWI notification to phone.
• Right after MBX assistant sends MWI notification, user
immediately deletes voice mail from Outlook.
• Since MBX assistant will not send notification for another
40 seconds, user may experience a delay in the MWI
going off.

©2013 Microsoft Corporation. All rights reserved. MCSM NDA Confidential. Do not distribute. For individual readiness purposes only. MCSM: Messaging- Version 1.0, Updated 4/16/2013
Out-of-Sync MWI
• Sometimes, MWI state may get out of state (e.g.,
PBX reset)
• For each mailbox, UM will ensure MWI notification
is sent at least once in every 12 hours, even if
there is no voice mail activity.
• This process is staggered for all the mailboxes on
the same mailbox database.
• Currently, no means to force an MWI update for a
given set of mailboxes.

©2013 Microsoft Corporation. All rights reserved. MCSM NDA Confidential. Do not distribute. For individual readiness purposes only. MCSM: Messaging- Version 1.0, Updated 4/16/2013
MWI administration
• MWI is enabled by default
• Can be disabled using UM mailbox policies
• Set-UMMailboxPolicy –
AllowMessageWaitingIndicator $false
• Can disable MWI notifications from individual UM
IP gateway objects
• Set-UMMailboxPolicy –
MessageWaitingIndicatorAllowed $false

Fig: UMMailboxPolicy properties in EMC


©2013 Microsoft Corporation. All rights reserved. MCSM NDA Confidential. Do not distribute. For individual readiness purposes only. MCSM: Messaging- Version 1.0, Updated 4/16/2013
Call answering with
automated attendants

©2013 Microsoft Corporation. All rights reserved. MCSM NDA Confidential. Do not distribute. For individual readiness purposes only. MCSM: Messaging- Version 1.0, Updated 4/16/2013
Auto Attendants

 Multiple Auto Attendants


 ASR for some languages– see TechNet list
 Custom menus
 Custom prompt
• Prompts are replicated between UM servers

 Custom scope – GAL, Dial Plan, Address List


 Custom schedule

©2013 Microsoft Corporation. All rights reserved. MCSM NDA Confidential. Do not distribute. For individual readiness purposes only. MCSM: Messaging- Version 1.0, Updated 4/16/2013
Grammar

• UM depends on grammar files for ASR


• Installed language grammar files go in \Program
Files\Microsoft\Exchange
Server\V15\UnifiedMessaging\Grammars
• Grammar files for calendar, contact, and email
manipulation
• Separate grammar files for the main OVA menu
and common words used across scenarios
• Organization-specific grammars must be
generated

©2013 Microsoft Corporation. All rights reserved. MCSM NDA Confidential. Do not distribute. For individual readiness purposes only. MCSM: Messaging- Version 1.0, Updated 4/16/2013
What’s in a grammar?

• Multiple scopes
• GAL: all non-hidden mail-enabled objects
• Address list: all UM-enabled users in that address list
• Dial plan: all UM-enabled users in that dial plan

• Named with GUID of related object


• DistributionList.grxml contains names of mail-
enabled DLs

©2013 Microsoft Corporation. All rights reserved. MCSM NDA Confidential. Do not distribute. For individual readiness purposes only. MCSM: Messaging- Version 1.0, Updated 4/16/2013
Grammar Generation

 Grammar files are generated


 Daily according to schedule
 When new server added to dial plan (for that DP only)
 When UM Mailbox Assistant starts

 Set schedule with Set-UMService –


GrammarGenerationSchedule

 Event IDs 1131, 1132 indicate start/finish

©2013 Microsoft Corporation. All rights reserved. MCSM NDA Confidential. Do not distribute. For individual readiness purposes only. MCSM: Messaging- Version 1.0, Updated 4/16/2013
Grammar storage

• Stored in system arbitration mailbox


• Updates go into the arbitration mailbox
• Servers download updates and store them in local
folder named “cached” in language pack directory

• If the system arbitration mailbox is hosed ASR will


probably behave oddly because it can’t get
grammar updates

©2013 Microsoft Corporation. All rights reserved. MCSM NDA Confidential. Do not distribute. For individual readiness purposes only. MCSM: Messaging- Version 1.0, Updated 4/16/2013
Phonetic Names

• Some names are easy for UM to pronounce, while


others aren’t

• msDS-PhoneticName to the rescue


• Set with Set-User PhoneticDisplayName
• Preview / test with PowerShell

$Voice = New-Object -com SAPI.SpVoice


$Voice.Speak("Paul Robichaux")
$Voice.Speak(”Keith Kabza")

©2013 Microsoft Corporation. All rights reserved. MCSM NDA Confidential. Do not distribute. For individual readiness purposes only. MCSM: Messaging- Version 1.0, Updated 4/16/2013
List of Supported Custom Prompts

• UMDialPlan (for Outlook Voice Access)


• Welcome Greeting
• Informational Announcement

• UMAutoAttendant
• Business Hours Welcome Greeting
• Business Hours Menu Prompt
• Informational Announcement
• Non-Business Hours Welcome Greeting
• Non-Business Hours Menu Prompt
• Holiday greeting

©2013 Microsoft Corporation. All rights reserved. MCSM NDA Confidential. Do not distribute. For individual readiness purposes only. MCSM: Messaging- Version 1.0, Updated 4/16/2013
The case of the Turkish customer

• What do you do with an unsupported language?


• Can you record your own custom prompts?

©2013 Microsoft Corporation. All rights reserved. MCSM NDA Confidential. Do not distribute. For individual readiness purposes only. MCSM: Messaging- Version 1.0, Updated 4/16/2013
Custom Prompt Management

• 3 methods to manage custom prompts:


• EAC
• Export/Import-UMPrompt cmdlets
• TUI prompt provisioning

©2013 Microsoft Corporation. All rights reserved. MCSM NDA Confidential. Do not distribute. For individual readiness purposes only. MCSM: Messaging- Version 1.0, Updated 4/16/2013
EMS Cmdlets for Custom Prompts

• In Exchange 2013, prompts are managed


with two cmdlets:
• Import-UMPrompt
• Used for uploading custom prompt to UM
• Supports both PCM Linear and WMA Voice audio files
• Export-UMPrompt
• Used for downloading custom prompt from UM

©2013 Microsoft Corporation. All rights reserved. MCSM NDA Confidential. Do not distribute. For individual readiness purposes only. MCSM: Messaging- Version 1.0, Updated 4/16/2013
Examples of Import-UMPrompt

• Example on how to use Import-UMPrompt to upload a


custom prompt for an UMDialPlan object:
# Load audio file into memory
[PS]> [byte[]] $a = Get-Content “d:\test.wav” -Encoding byte –ReadCount 0

# Import audio file into Discovery mailbox under dialplan myDP


[PS]> Import-UMPrompt –PromptFileName “test.wav” –UMDialPlan myDP
PromptFileData $a

• Same cmdlet can be used to upload custom prompt


for an UMAutoAttendant object
• Accepts audio files stored as PCM linear
(Mono/16bit/8KHz) in WAV format or WMA voice.
• As a trick to create WMA voice, leave yourself a voice
mail
• Size of audio file cannot exceed 5 MB in file size or 5
min in length
©2013 Microsoft Corporation. All rights reserved. MCSM NDA Confidential. Do not distribute. For individual readiness purposes only. MCSM: Messaging- Version 1.0, Updated 4/16/2013
Examples of Export-UMPrompt

• Example on how to use Export-UMPrompt to download


a custom prompt for an UMDialPlan object:
# Export audio file into memory
[PS]> $a = Export-UMPrompt –PromptFileName “test.wav” –UMDialPlan myDP

# Save audio file in memory to local disk


[PS]> Set-Content –Path “d:\test.mp3” –Value $a.AudioData –Encoding Byte

• Export-UMPrompt always return prompt in MP3 format


(16kbps) regardless of what the audio file format was
during import

©2013 Microsoft Corporation. All rights reserved. MCSM NDA Confidential. Do not distribute. For individual readiness purposes only. MCSM: Messaging- Version 1.0, Updated 4/16/2013
Custom Prompt Storage
• Ex 2007 method (prompt publishing point /
FRS) is deprecated
• Custom prompts now stored inside system
mailbox {e0dc1c29-89c3-4034-b678-e6c29d823ed9}
• Single location for all custom prompts
• Reap the benefits of mailboxes (e.g., backup, no
additional management, scale better in large
deployment)
• Storing prompts in a mailbox has its
challenges:
• In a multi-site deployment, UM servers may need to
perform cross-site mailbox access.
• Single point of failure

©2013 Microsoft Corporation. All rights reserved. MCSM NDA Confidential. Do not distribute. For individual readiness purposes only. MCSM: Messaging- Version 1.0, Updated 4/16/2013
Custom Prompt Storage
• Every time UM server receives a call for an AA:
• The UM server first checks to see if its local cache has a
copy of the custom prompts associated with that
UMDialPlan/UMAutoAttendant
• If no copy is found or the copy is outdated, UM server will
fetch prompts from the discovery mailbox and cache them
locally
• How does UM tells if its local cache is stale?
• Each AA object has a PromptChangeKey attribute that is
stamped with a new GUID each time a custom prompt is
uploaded for that object
• UM compares the PromptChangeKey GUID on the AD object
and the one it has in its local cache copy

©2013 Microsoft Corporation. All rights reserved. MCSM NDA Confidential. Do not distribute. For individual readiness purposes only. MCSM: Messaging- Version 1.0, Updated 4/16/2013
Debugging Custom Prompts

• Start by running following cmdlet:


get-user "SystemMailbox{e0dc1c29-89c3-4034-b678-e6c29d823ed9}" –arbitration
• If no user object is return, you will need to run Setup
/PrepareAD to recreate the Discovery Mailbox
• If user object is returned and RecipientType is
UserMailbox, Discovery Mailbox is present
• If user object is returned but RecipientType is User, run
following cmdlet to create the Discovery Mailbox:
Enable-Mailbox "SystemMailbox{e0dc1c29-89c3-4034-b678-e6c29d823ed9}" –arbitration

©2013 Microsoft Corporation. All rights reserved. MCSM NDA Confidential. Do not distribute. For individual readiness purposes only. MCSM: Messaging- Version 1.0, Updated 4/16/2013
RBAC and Custom Prompts

• New “UM Prompts” RBAC role for managing UM


custom prompts
• Holders can
• manage custom prompts on UMDialPlan and
UMAutoAttendant objects using EMC/cmdlets
• (if UM-enabled) perform TUI prompt provisioning

• No scoping
• Can’t limit access to a subset of
UMDialPlan/UMAutoAttendant objects

©2013 Microsoft Corporation. All rights reserved. MCSM NDA Confidential. Do not distribute. For individual readiness purposes only. MCSM: Messaging- Version 1.0, Updated 4/16/2013
UM setup walkthrough

1. Create UM dial plan


2. Create UM IP gateway objet
• One per device / gateway / Lync pool
• You need one for anything that can send calls to
Exchange UM
3. Create UM hunt groups
• Generally the single auto-created hunt group will do
4. Create and assign UM mailbox policies
5. Design and deploy UM automated attendants
6. UM-enable users

©2013 Microsoft Corporation. All rights reserved. MCSM NDA Confidential. Do not distribute. For individual readiness purposes only. MCSM: Messaging- Version 1.0, Updated 4/16/2013
Lync Integration

©2013 Microsoft Corporation. All rights reserved. MCSM NDA Confidential. Do not distribute. For individual readiness purposes only. MCSM: Messaging- Version 1.0, Updated 4/16/2013
Lync & Exchange Services

Exchange Lync

• Voice mail • Number normalization


• Automated attendant • Location profiles & phone
• Multiple linked AAs usage records
• Info announcements • Inbound & outbound call
• Call routing routing
• Dial by name • Reverse number lookup
Working hours
• Connection to the outside

• Subscriber access world


• Call in to retrieve voice mail
• Play on Phone
• Outlook Voice Access
©2013 Microsoft Corporation. All rights reserved. MCSM NDA Confidential. Do not distribute. For individual readiness purposes only. MCSM: Messaging- Version 1.0, Updated 4/16/2013
Exchange + Lync Scenarios

• Call notification
• Missed & forwarded calls

• Leaving a voice mail


• Subscriber access
• OVA
• Voice mail access from Communicator

• Automated attendant

©2013 Microsoft Corporation. All rights reserved. MCSM NDA Confidential. Do not distribute. For individual readiness purposes only. MCSM: Messaging- Version 1.0, Updated 4/16/2013
Lync & Exchange Counterparts

• SIP URI dial plan -> Lync dial plan


• FQDNs of dial plans should match
• Dial plan must be SIP Secured or Secured
• Secured recommended so that CPE devices will work
• Add all UM servers to this dial plan

• UM IP gateway -> Lync pool or SE server


• Exchange UM uses these objects to decide who to listen
to
• Exchange AA -> contact object
• Lync needs these to decide who to dial

©2013 Microsoft Corporation. All rights reserved. MCSM NDA Confidential. Do not distribute. For individual readiness purposes only. MCSM: Messaging- Version 1.0, Updated 4/16/2013
Lync Integration

 Three basic types of integration


• Presence / IM in OWA
• Call answering / routing / dialing
• Client data integration (free/busy, Conversation History,
etc.)

©2013 Microsoft Corporation. All rights reserved. MCSM NDA Confidential. Do not distribute. For individual readiness purposes only. MCSM: Messaging- Version 1.0, Updated 4/16/2013
How the existing Exchange integration works

Exchange
OWA IM
UM

©2013 Microsoft Corporation. All rights reserved. MCSM NDA Confidential. Do not distribute. For individual readiness purposes only. MCSM: Messaging- Version 1.0, Updated 4/16/2013
Server-to-Server Authentication

• Server to Server OAuth (S2SOAuth) is the method


used to implement trust across Exchange, Lync and
SharePoint
• Unified authentication experience across Office products
• Based on industry standards (OAuth 2.0)
• Works both on-premises, in the cloud and hybrid

©2013 Microsoft Corporation. All rights reserved. MCSM NDA Confidential. Do not distribute. For individual readiness purposes only. MCSM: Messaging- Version 1.0, Updated 4/16/2013
Server-to-Server Communication

• Lync and Exchange trust is provided through


certificates
• “Microsoft Exchange Server Auth” self-signed certificate
• You specify the OAuthTokenIssuer certificate as part of
Lync deployment
• These do not have to be the same as the certificates you
use for OWA/IM integration

©2013 Microsoft Corporation. All rights reserved. MCSM NDA Confidential. Do not distribute. For individual readiness purposes only. MCSM: Messaging- Version 1.0, Updated 4/16/2013
Partner Applications

• Office 2013 server apps use concept of partner


applications to specify which server apps can do
what, and where
• First verify that you can load authentication
metadata URL
• E.g.
https://autodiscover.contoso.com/autodiscover/metadat
a/json/1
• Shouldn’t require manual configuration
• Run Configure-PartnerApplications.ps1 script for
Exchange
• Use New-CsPartnerApplication for Lync

©2013 Microsoft Corporation. All rights reserved. MCSM NDA Confidential. Do not distribute. For individual readiness purposes only. MCSM: Messaging- Version 1.0, Updated 4/16/2013
Certificates

• Lync expects to see the FQDN of the Exchange


server as both the certificate subject name and as
a subjectAltName
• Lync docs say that wildcard certs are supported
but not for every use

• General rule: verify that you can hit OWA from


Lync server and LWA from Exchange server before
proceeding

©2013 Microsoft Corporation. All rights reserved. MCSM NDA Confidential. Do not distribute. For individual readiness purposes only. MCSM: Messaging- Version 1.0, Updated 4/16/2013
OAuth

• Servers publish authentication metadata that


specifies how / what they authenticate
• Exchange normally publishes from URL under AutoD vdir
• Lync has its own URL:
https://yourLyncServer/metadata/json/1
• Partner applications represent OAuth-
authenticated, trusted apps
• One each for Exchange, Lync, SharePoint
• Create them on Exhange side usingConfigure-
PartnerApplications.ps1
• Create them on Lync side using New-
CsPartnerApplication

©2013 Microsoft Corporation. All rights reserved. MCSM NDA Confidential. Do not distribute. For individual readiness purposes only. MCSM: Messaging- Version 1.0, Updated 4/16/2013
New Lync and SharePoint Clients

Exchange 2013 Mailbox

Exchange Web Services

S2SOAuth Client credentials S2SOAuth

UCS HR Photo Archiving UCS HR Photo HR Photo

Lync 2013 Server SharePoint 2013 Server


eDiscovery
UCWA Lync 2013 and Lync MX MySite
Console
LWA and Lync Mobile
V2

©2013 Microsoft Corporation. All rights reserved. MCSM NDA Confidential. Do not distribute. For individual readiness purposes only. MCSM: Messaging- Version 1.0, Updated 4/16/2013
Presence / IM Integration

 Identify the certificate you’ll use


• Must be trustable by Lync (so not self-signed)
• Verify that you can log on to Exchange and hit Lync
server with no certificate errors
• Best practice: use cert from same issuer on Lync &
Exchange servers
• Use Get-ExchangeCertificate to get thumbprint and
subject name of cert

©2013 Microsoft Corporation. All rights reserved. MCSM NDA Confidential. Do not distribute. For individual readiness purposes only. MCSM: Messaging- Version 1.0, Updated 4/16/2013
OWA / IM integration

• Configure OWA web.config on target mailbox


servers, not with Set-OWAVirtualDirectory
• <add key="IMCertificateThumbprint" value=”…"/>
<add key="IMServerName" value="pao-
lync01.betabasement.com"/>

• Restart OWA app pool when done

©2013 Microsoft Corporation. All rights reserved. MCSM NDA Confidential. Do not distribute. For individual readiness purposes only. MCSM: Messaging- Version 1.0, Updated 4/16/2013
OWA / IM integration

• Beware: IM is enabled by default on vdir and OWA


mailbox policy, but the type field is blank!
• Get-OWAVirtualDirectory | Set-
OWAVirtualDirectory –InstantMessagingEnabled
$true –InstantMessagingType OCS
• Get-OWAMailboxPolicy | Set-OWAMailboxPolicy –
InstantMessagingType OCS

©2013 Microsoft Corporation. All rights reserved. MCSM NDA Confidential. Do not distribute. For individual readiness purposes only. MCSM: Messaging- Version 1.0, Updated 4/16/2013
Progress check

• Look for two things


• InstantMessaging folder in logging directory (c:\program
files\Microsoft\Exchange Server\v15\logging)
• Event ID 112 from MSExchangeOWA

• If you don’t see these, go back and recheck,


because for some reason the IM endpoint service
doesn’t think it should be running
• Is InstantMessagingType set to OCS?
• Is IM enabled?

©2013 Microsoft Corporation. All rights reserved. MCSM NDA Confidential. Do not distribute. For individual readiness purposes only. MCSM: Messaging- Version 1.0, Updated 4/16/2013
Presence / IM Integration

 Tell Lync to trust the CAS as an endpoint


• Add new trusted application pool in Topology Builder if
you need one
• Disable CMS replication to target
• Publish topology when done with Enable-CSTopology

©2013 Microsoft Corporation. All rights reserved. MCSM NDA Confidential. Do not distribute. For individual readiness purposes only. MCSM: Messaging- Version 1.0, Updated 4/16/2013
Voice Integration: Basic Steps

1. Create the dial plan for Lync dialspace


2. Create a UM IP Gateway for each Lync pool
3. Run exchucutil.ps1
4. Run OcsUmUtil.exe

120
©2013 Microsoft Corporation. All rights reserved. MCSM NDA Confidential. Do not distribute. For individual readiness purposes only. MCSM: Messaging- Version 1.0, Updated 4/16/2013
ExchUCUtil.ps1

 Configures Exchange-side objects


• located in the ..\exchsrvr\scripts folder
• Syntax: ExchUCUtil.ps1 –Forest:”lync.domain-fqdn.com”

 Script performs the following operations:


• Creates a UMIPGateway object for each Lync Enterprise
Pool
• Creates a UM hunt group for each gateway
 The pilot identifier of each hunt group specifies the UM dialplan
used by the Enterprise Pool that is associated with the gateway
• Grants Lync permission to read Exchange UM objects in
Active Directory

121
©2013 Microsoft Corporation. All rights reserved. MCSM NDA Confidential. Do not distribute. For individual readiness purposes only. MCSM: Messaging- Version 1.0, Updated 4/16/2013
Run OcsUmUtil.exe

 Contact object is created, after which users can be UC


enabled and UM enabled on the OCS dial plan

©2013 Microsoft Corporation. All rights reserved. MCSM NDA Confidential. Do not distribute. For individual readiness purposes only. MCSM: Messaging- Version 1.0, Updated 4/16/2013
Client Integration

• Lync client can use MAPI, EWS, and the Outlook


object model to get info
Access Method What It’s For
Outlook Object Model Sending mail messages
Scheduling meetings
Opening Exchange
folders
Delegate access
EWS Voice mail notifications
Missed call notifications
Write contacts / conv
hist
Read / delete voice mail
Read free/busy & OOF
data
Read working hours
MAPI Delegate access
Read free/busy & OOF
©2013 Microsoft Corporation. All rights reserved. MCSM NDA Confidential. Do not distribute. For individual readiness purposes only. MCSM: Messaging- Version 1.0, Updated 4/16/2013
Lync integration HOL

©2013 Microsoft Corporation. All rights reserved. MCSM NDA Confidential. Do not distribute. For individual readiness purposes only. MCSM: Messaging- Version 1.0, Updated 4/16/2013
High-level objectives

1. Configure partner apps and OAuth


2. Verify that certificates work OK and that you can
load metadata URLs on each side
3. Configure UM services for dual startup mode
4. Enable certificates for UM services
5. Edit OWA web.config
6. Add trusted application pool if needed
7. Verify that OWA IM connectivity works
8. Enable UCS and verify it in Lync / Outlook
9. Configure Lync to use Exchange voicemail

©2013 Microsoft Corporation. All rights reserved. MCSM NDA Confidential. Do not distribute. For individual readiness purposes only. MCSM: Messaging- Version 1.0, Updated 4/16/2013
Call answering rules

©2013 Microsoft Corporation. All rights reserved. MCSM NDA Confidential. Do not distribute. For individual readiness purposes only. MCSM: Messaging- Version 1.0, Updated 4/16/2013
Call Answering Rules

• Call answering is UM’s most frequent scenario


• Play greeting, take message

• Users wanted more control


• Find-Me/Hide-Me
• Special greetings by caller identity
• Behavior based on time-of-the-day
• … and more

• Call Answering Rules


• User dictates call answering behavior
• Similar to how inbox rules and Auto Attendant work

©2013 Microsoft Corporation. All rights reserved. MCSM NDA Confidential. Do not distribute. For individual readiness purposes only. MCSM: Messaging- Version 1.0, Updated 4/16/2013
Anatomy of a Call Answering Rule

• Each user can have up to 9 call answering rules


• Each call answering rule is made up of
• Condition(s)
• What criteria must be met before the rule is applied to an
inbound call
• Action(s)
• what options UM should present to the caller when the rule is
applied
• Greeting and Menu
• Prompt to be played to callers to greet and inform them about
the actions available to them

©2013 Microsoft Corporation. All rights reserved. MCSM NDA Confidential. Do not distribute. For individual readiness purposes only. MCSM: Messaging- Version 1.0, Updated 4/16/2013
Default Configuration – No Rule

• When a mailbox is first UM-enabled, no call


answering rules configured
• Not all users will find the need for using call
answering rules
• If no call answering rules configured, UM behaves
the same as before

©2013 Microsoft Corporation. All rights reserved. MCSM NDA Confidential. Do not distribute. For individual readiness purposes only. MCSM: Messaging- Version 1.0, Updated 4/16/2013
Conditions

• Call Answering Rules support 5


different conditions:
• Calleridentity: phone #, contact, AD
• Time of day: working hours, non-working
hours, specific range
• Free/busy status
• OOF state
• Which extension the call arrived on

©2013 Microsoft Corporation. All rights reserved. MCSM NDA Confidential. Do not distribute. For individual readiness purposes only. MCSM: Messaging- Version 1.0, Updated 4/16/2013
Rule with Zero ConditionS

• Sometimes referred to as the default call


answering rule
• When UM encounters a default call answering rule,
UM will treat the rule as though its conditions
have been evaluated as true.
• Useful when user wants to have the same call
answering experience (e.g., Find-Me) for all her
callers.

©2013 Microsoft Corporation. All rights reserved. MCSM NDA Confidential. Do not distribute. For individual readiness purposes only. MCSM: Messaging- Version 1.0, Updated 4/16/2013
Actions

• Call Answering Rules support 3 different actions,


including
• Find-Me
• Call transfer
• Leave a voice mail

• Actions are presented to callers in the form of a


menu, similar to Auto Attendant
• Callers selects action using keypad (no speech
access)

©2013 Microsoft Corporation. All rights reserved. MCSM NDA Confidential. Do not distribute. For individual readiness purposes only. MCSM: Messaging- Version 1.0, Updated 4/16/2013
No Action Configured

• It is possible to configure a Call Answering Rule


without any action configured
• If user has recorded a custom prompt for this rule,
UM hangs up after playing the prompt
• Otherwise, UM hangs up after playing the
following prompt:
“You have reached the mailbox of <name>… Please call
back later… Goodbye…”
• Essentially, an announcement-only rule
• Can be used to implement a voice mail black list

©2013 Microsoft Corporation. All rights reserved. MCSM NDA Confidential. Do not distribute. For individual readiness purposes only. MCSM: Messaging- Version 1.0, Updated 4/16/2013
Call Answering Rules

• New cmdlets for managing call answering rules


• New/Remove/Get/Set-UMCallAnsweringRule
• Enable/Disable-UMCallAnsweringRule

©2013 Microsoft Corporation. All rights reserved. MCSM NDA Confidential. Do not distribute. For individual readiness purposes only. MCSM: Messaging- Version 1.0, Updated 4/16/2013

You might also like