490 likes | 1.36k Views
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
E N D
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
Voice Routing User Initiates Call User=phone SIP URI Call Park Orbit Range Emer.Call? Global? Dial Plan No No Normalization Rule Normalization Rule 404: No matching rule Yes Normalization Rule Yes DialingBehaviors Reverse Number Lookup Routing &Authorization Location Policy No match Match PSTN Usage 1. Vacant Number Range 2. Call Park Orbit Range 3. Voice Policy Routes PSTN Usage Route Route PSTN Usage Route PSTN Usage Route Mediation Server andTrunk Configuration 403: No route found Announcement orCall Park Application Gateway / IP-PBX / SIP Trunk Inbound Routing External Endpoint Receives Call UC Endpoint Receives Call 8
Voice Routing User Initiates Call Lync ClientNormalizes User=phone SIP URI Call Park Orbit Range Emer.Call? Global? Dial Plan No No Must MatchA Rule RFC 3966Starts with + Normalization Rule Normalization Rule 404: No matching rule Yes Normalization Rule Yes DialingBehaviors msRTCSIP-LinemsRTCSIP-PrivateLine Reverse Number Lookup Routing &Authorization Location Policy No match Match PSTN Usage 1. Vacant Number Range PSTN Fallback forCAC and NetworkOutages 2. Call Park Orbit Range 3. Voice Policy Routes PSTN Usage Route Policy Createsper User Routing Route PSTN Usage Route PSTN Usage Route Mediation Server andTrunk Configuration Apply CalledParty Prefs 403: No route found Announcement orCall Park Application Convert #to Local Format Gateway / IP-PBX / SIP Trunk Inbound Routing External Endpoint Receives Call UC Endpoint Receives Call 9
RFC 3966’s 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 • Reverse number lookup considers extension optional • May need to deal with “;ext=” in trunk normalization for cases of PSTN reroute
Internal-Only NumbersUsers 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 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 • Excluding patterns from the device is not supported
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: • Client removes the prefix. Attempts to find match among the normalization rules that are for external numbers (not marked as internal) • If no match, client keeps the prefix. Attempts to match all the normalization rules that are for internal numbers • If no match, client keeps the prefix. Attempts to match all the normalization rules that are for external 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 plan normalization rules 20
Routing: Why bother? PSTN • 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. • Cost is the driving factor for routing. WAN
Routing and Authorization Voice Policies PSTN Usages Routes • User authorization • Class of service • Voice feature set • Called number • Cost of call • Purpose (usage, caller’s intent) • 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 • Start with routes • Define user voice policies (classes of service) • Incorporate requirements for least-cost routing and PSTN rerouting and fallback • Use PSTN Usages to “link” appropriate routes to the needed voice policies
Route Planning - Munich International National Premium National Local Internal
Route Planning - Seattle International National Premium National Local Internal
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, we’ll use PSTN usage to group and order them
Voice PolicyEntitlements and Class of Service • A user’s 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 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 caller’s primary geographic location (not current location) to areas not served by a local gateway
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 user’s voice policy
Number BlockingTraditional (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 BlockingAlternative 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 PracticesTrunk Configurations • Removing the “+” • Set-CsTrunkConfiguration <identity> –RemovePlusFromUri $true • PSTN re-routing (CAC/WAN Outage) • Pattern to Match: ^(\+\d*);ext=(\d*)$ • Translation Pattern: $1
Best PracticesNumbering • 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 PracticesDial 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 - Microsoft Lync 2010: Planning for Conferencing Deployments EXL316 - Microsoft Lync 2010: Availability, Resiliency, and Recovery EXL317 - Lync and the Enterprise Network EXL319 - Lync 2010: Planning Voice Features EXL412 - Lync Deep Dive: Edge Media Connectivity with ICE • MicorosftLync 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 Learning TechNet • Connect. Share. Discuss. • Microsoft Certification & Training Resources http://northamerica.msteched.com www.microsoft.com/learning • Resources for IT Professionals • Resources for Developers http://microsoft.com/technet http://microsoft.com/msdn
Required Slide 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.