Вы находитесь на странице: 1из 49

EXL318

Lync Deep Dive: Dial


Plans and Voice
Management
Deep Dive
Javed Tufail / Korneel Bullens
Architect
Microsoft Corporation

Session Objectives and Takeaways


Session Objective(s)
Describe voice routing with Microsoft Lync Server 2010
Describe the numbering plan & approach to voice routing
design
Identify the appropriate best practices for voice routing
within Microsoft Lync Server 2010

Agenda
Introductions
Lync Voice Routing
Numbering and Dialing
Routing and Authorization
Special Considerations / Best Practices

Javed Tufail
Javed Tufail
California, US
Have been working on voice and
unified communications for past 13
years
MCS Voice Center of Excellence
(CoE)

Vocabulary
Outbound call: Call initiated by Lync user.
PSTN call: Any call to a phone that is not within
Lync. This may include other internal PBX phones.
Internal call: Call between two phones within the
same company. May be a call between Lync and
PBX phone.
DID: Direct Inward Dial number. A PSTN phone
number. (Also called DDI.)
RNL: Reverse Number Lookup
NANP: North America Numbering Plan

Concepts
Dial Plans
Are meant to codify dialing habits into E164
Are assigned to people based on dialing habits not
locations

Voice Policy
Contain Voice Usages
Limit or extend a users telephony featureset

PSTN Usages
Contain Voice Route(s)

Voice Routes
Route dialed numbers to the correct gateway(s)
Control which numbers a user is allowed to call

Lync Voice Routing

Voice Routing

User Initiates Call


Dial Plan

User=phone

Normalization Rule
Normalization Rule
Normalization Rule

Dialing
Behaviors

404: No
matching
rule

Routing &
Authorization

No

No

Emer.
Call?

Global?
Yes

Call Park Orbit Range

SIP URI

Yes

Reverse Number Lookup


No match

Match

3. Voice Policy

Location Policy

Routes

1. Vacant Number Range


2. Call Park Orbit Range

Announcement or
Call Park Application

PSTN Usage
PSTN Usage
PSTN Usage

403: No
route found

Route
Route
Route
Route

PSTN Usage

Mediation Server and


Trunk Configuration
Gateway / IP-PBX / SIP Trunk

Inbound Routing

External Endpoint Receives Call

UC Endpoint Receives Call


8

Voice Routing
Must Match
A Rule

Dialing
Behaviors

404: No
matching
rule

Routing &
Authorization

User Initiates Call


Dial Plan

User=phone

Lync Client
Normalizes

Normalization Rule
Normalization Rule
Normalization Rule

No

No

Emer.
Call?

Global?
RFC 3966
Starts
with +
Yes

Call Park Orbit Range

SIP URI

Yes

Reverse Number
Lookup
msRTCSIP-Line

msRTCSIP-PrivateLine

No match
3. Voice Policy

Match

Location Policy

Routes

1. Vacant Number Range


2. Call Park Orbit Range

PSTN Usage
PSTN Usage
Policy Creates
PSTN Usage

per User Routing

Announcement or
Call Park Application

403: No
route found

Route
Route
Route
Route

Mediation Server and


Trunk Configuration
Gateway / IP-PBX / SIPConvert
Trunk #
to Local Format
External Endpoint Receives Call

PSTN Usage

PSTN Fallback for


CAC and Network
Outages

Apply Called
Party Prefs

Inbound Routing

UC Endpoint Receives Call


9

Numbering and Dialing

RFC 3966s Impact to Lync


Defines format of TEL URIs in SIP
Specifies that global numbers begin with +
Other numbers must be given a context
Example valid formats:
tel:+12065550121
tel:+12065550120;ext=121
tel:121;phone-context=HQ

Assigning Phone Numbers to Users


New DID range for pilot users
Not uncommon to find DID ranges set aside for future
growth
If PBX handset remains, forward to new number
Migrate number blocks when replacing PBX users keep
DID

Specify Extension for All Users


Optimizes PIN authentication for devices and dial-in
conferencing
Line URI = tel:+12065550121;ext=121

Internal-Only Numbers
Users without DID/DDI
As per RFC, line URI should be of the form:
tel:+14258828080;ext=51855

Base number could point to Exchange Auto


Attendant with number:
tel:+14258828080;ext=1

Normalization of inbound number should add


;ext=1 so that unique number of AA can be found
via RNL.
^(\+14258828080)$ $1;ext=1

Phone Number Fragments


User input
Dial pad
Outlook contacts
Requires dial plan per habit group

Exchange out-calling
Play on Phone
Personal Contacts
Directory (Subscriber Access or Auto Attendant)
Requires normalization by Lync Server 2010 dial plan
14

Phone Number Fragments Contd.


Active Directory
Address Book
Requires address book normalization rules

Gateway or PBX
Inbound to Mediation server
Requires normalization by Lync Server 2010 dial plan

Remote Call Control


Inbound call via CSTA
Requires address book normalization rules
15

Dial Plans
Known as the location profile in OCS 2007 R2
A set of normalization rules that translate dial strings to
full, unique numbers
Normalization rules are specified using regular
expressions
^

match the start $

match the end

\d

match any digit \d*

0 or more digits

\d{5}

any 5 digits

[135
]

1, 3, or 5

(13)|
(17)

13 or 17

[1..5
]

1 through 5

()

captures the enclosed characters for

16

Example Normalization Patterns


National dialing
^([2-9]\d\d[2-9]\d{6})$ +1$1 (NANP)
^0(\d{10}) +44$1 (UK)
Include national and international dialing prefixes
^011(\d*) +$1
Extension range (e.g. 15xx-35xx)
^((1[5-9]|2[0-9]|3[0-5])\d{2})$ +1206555$1
Avoid expressions that make the first digit optional,
like this:
^9?([2-9]\d\d[2-9]\d{6})$

Off-hook Dialing
In Lync, user typically dials all desired digits then
presses call
Normalization rules are then processed in order to
find a match.
When dialing from a device off-hook, an inter-digit
dialing delay is used to determine when to place the
call
1.5 second inter-digit dialing delay
If a matching rule is found, the number will be dialed
10 second final time-out
If no matching rule is found, the dialstring is sent to the
FE

External Access Prefix


A prefix can be specified that signals an external number is
being dialed
This prefix will not need to be in the normalization rules
Internal Extension check box in the normalization rule
works with the External Access Prefix to make the below
client logic work
If number dialed begins with the prefix, then:
1. Client removes the prefix. Attempts to find match among the

normalization rules that are for external numbers (not marked as


internal)
2. If no match, client keeps the prefix. Attempts to match all the
normalization rules that are for internal numbers

Address Book Normalization


Remember to configure this in Lync!
Place Company_Phone_Number_Normalization_Rules.txt
files in
\\server\CSShare\Site-WebServices-N\ABFiles
ABServer.exe -TestPhoneNorm
Now, spaces & some punctuation are stripped before rules
are applied
This makes the address book rules read more like the dial
20
plan normalization rules

Routing and
Authorization

Routing: Why bother?


PSTN
PSTN

WAN
WAN

Essentially, routing of VoIP calls is making the


choice between using WAN resources or using the
PSTN
If all PSTN calls were free, we would simply route to
the closest PSTN gateway.

Routing and Authorization


Voice Policies

User authorization

Class of service

Voice feature set

PSTN Usages

Routes

Purpose (usage, callers

Called number

intent)

Cost of call

Calling location

Priority
23

Observations from the Field


Phone Number in Lync -> +912125550100
9 often a Trunk Access Code
+91 is India, so +912125550100 is routed to India

Private Extensions -> +6046


+60 is Malaysia, so +6046 is routed to Malaysia

Missing Country Codes -> +2125550100


+212 is Morocco, so +2125550100 is routed to Morocco

Solution:
Full E.164 number (globally unique)
Add ;ext= for the user extension (and conference PIN
support)

Dial Plan Design Approach


1. Start with routes
2. Define user voice policies (classes of service)
Incorporate requirements for least-cost routing and PSTN
rerouting and fallback
3. Use PSTN Usages to link appropriate routes to the

needed voice policies


25

Route Planning - Munich

International
National Premium
National
Local
Internal

Routes for the gateways in Munich


DE Internal

^\+49895550[12]

DE Munich Local

^\+4989

DE Germany

^\+49

DE Europe

^\+(49)|(31)|(33)|(32)|(34)|(351)|

DE International

^\+
26

Route Planning - Seattle

Routes for the gateways in Seattle

International

Seattle Internal

^\+12062873[\d{3}]

Seattle Local-206287

^(\+1253((21[4678])|(23[4679])|(24[3569])|
(2(61|66|69|70|75|77))|(33[23456])|
(39[4578])|(3(50|51|72|73))|(4(78|79|80|86|
87))|(56[139])|(65[2367])|(73[3567])|(7[04])|
(7(65|66|93|96|97))|(83[3589])|(85[02469])|
(8[01])|(8(72|74|76|80|86|87))|(9(31|39|41|
45|46))|((205|220|288|293|315|326|347|437|
449|458|499|508|518|642|661|670|681|773|
785|867|893|929|951|981))|((52|63))))|(\
+1425(?!([01]|(22[0245])|(23[1289])|
(25[2789])|(26[1235678])|(29[023479])|
(2(10|12|44|49))|(31[245679])|(32[01278])|
(33[02345789])|(35[035679])|(3(03|04|08|
74|77|79|85|87|88|96|97|99))|(4(04|05|07|
22|23|34|38|41|46))|(5(01|08|12|13|14|83|
85))|(7(10|17|50|54|83|89))|(8(70|76|79|86|
88))|(90[35])|((280|367|418|493|530|551|
609|610|622|631|645|669|737|740|760|791|
831|923|931|948|953|971))|((34|54)))))|(\
+1206(([23456789])))

National Premium
National
Local
Internal

Seattle National

^\+1[2-9]\d{9}$

27

Dialing Rule Optimizer

http://www.lyncoptimizer.com/

Route Planning Details


Routes are also regular expressions that match
normalized number to select a gateway
Route for internal numbers
Internal to company: Both within Lync and on PBX
Useful for Internal class of service
Also used for PSTN routing of internal calls for Call
Admission Control (CAC) or network failure

Routes specific to gateway locations


Include multiple gateways in route if in same location
Otherwise, well use PSTN usage to group and order
them

Voice Policy
Entitlements and Class of Service
A users capabilities are
determined by the policies
granted to the user

Voice Policy Scope


The most specific policy
available will be applied
User policy will be assigned
or it will be set to
<Automatic> to allow
selection from Pool, Site, or
Global policies
Not every level is available
for every type of policy

Global

Contoso

Chicago
Site

PoolChicago2

Chicago1

London

Dublin-1

User

31

Voice Policy Entitlements


Provide admins with
flexibility to control user
voice entitlements
Call Forwarding
Delegation
Call Transfer
Call Park
Simultaneous Ringing
Team Call
PSTN Rerouting
BW Policy Override
Malicious Call Tracing

Useful to address Common


Area Device requirements

32

PSTN Usages
Example uses:
Combine all free call routes into one usage
Combine all internal call routes into one usage
Provide backup routes for internal calls based on
caller location
Establish priority of routes based on callers primary
geographic location (not current location) to areas
not served by a local gateway

Special Considerations /
Best Practices

Trunk Normalization Rules


Leverage trunk configuration
normalization rules to minimize
required PBX changes
Centrally manage number
formatting prior to routing to
PBX/PSTN
Example use: call to
+442212345678
Formatted as 011442212345678
when using Seattle gateway (011
is international dialing prefix in
Seattle)
Formatted as 02212345678 when
using London gateway (0 is
national dialing prefix / trunk code
in London)

35

Emergency Call Considerations


Location Policy specifies dialstring that represents
an emergency services call
A single PSTN Usage (also specified in the Location
Policy) is used to find appropriate route
For E9-1-1 scenarios, this will route the calls to the E9-1-1
services provider SIP trunk

PSTN fallback for emergency services calls requires


alternate routes for the emergency services number
(e.g. ^\+911$) in the users voice policy

Number Blocking
Traditional (supported) Method
Exclude number ranges from routes
Default National route would exclude range but
National Premium route would allow.

Must exclude range from any route that could


provide coverage of the premium number
Can become difficult to manage
Allows flexibility in application to groups of users

Number Blocking
Alternative Method
Create unassigned number range that matches
desired blocked number range
Blocks all outbound calls to those numbers and can
play an admin-specified message
Blocks all calls to those numbers without regard to
caller

Best Practices
Trunk Configurations
Removing the +
Set-CsTrunkConfiguration <identity>
RemovePlusFromUri $true

PSTN re-routing (CAC/WAN Outage)


Pattern to Match: ^(\+\d*);ext=(\d*)$
Translation Pattern: $1

Best Practices
Numbering
Configure Users with DIDs and Extensions
+19495551000;ext=1000

Do not include an outside line access code as part


of the normalized phone number
Do not treat private extensions as global numbers
Always include the country code

Best Practices
Dial Plan
Normalization Optimization
How Many
700 Dial Plans per deployment (stress tested 750 with 10
rules)
100+ Normalization Rules per Dial Plan in CU5

Test and Validate

In Review: Session Objectives and


Takeaways
Session Objective(s):

Discuss the components of Lync Voice Routing


Identify the data necessary for successful dial plan
creation
Best Practices for voice routing within Microsoft Lync
Server 2010

Related Content
EXL315
EXL316
EXL317
EXL319
EXL412

Microsoft Lync 2010: Planning for Conferencing Deployments


Microsoft Lync 2010: Availability, Resiliency, and Recovery
Lync and the Enterprise Network
Lync 2010: Planning Voice Features
Lync Deep Dive: Edge Media Connectivity with ICE

Micorosft Lync Server 2010, Configuring (070-664)


Microsoft Lync Server 2010, Administrator (070-665)

Find Me Later At The Learning Center

Track Resources
Lync Team Blog: http://blogs.technet.com/b/uc/
Lync Facebook: http://www.facebook.com/MicrosoftOfficeCommunicator
Lync Server Blog: http://blogs.technet.com/b/nexthop/
Lync Website: http://
lync.microsoft.com/en-us/Pages/unified-communications.aspx

Resources
Learnin
g
Connect. Share. Discuss.

Microsoft Certification & Training Resources

http://northamerica.msteched.com

www.microsoft.com/learning

TechNe
t
Resources for IT Professionals

http://microsoft.com/technet

Resources for Developers

http://microsoft.com/msdn

Complete an evaluation on CommNet and enter to


win!

MS Tag

Scan the Tag


to evaluate this
session now on
myTechEd
Mobile

2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.
The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to
be a commitment on the
part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS
PRESENTATION.