Voice Core Infrastructure Updates October 2013 Microsoft Corporation
Oct 25, 2015
Lync Enterprise Voice Core Infrastructure UpdatesOctober 2013Microsoft Corporation
MICROSOFT CONFIDENT IAL – INTERNAL ONLY
Agenda
Lync Voice Architecture OverviewLync Voice Routing RecapLocation Based RoutingM:N RoutingSession Management
2
Lync Voice Architecture Overview
Public Providers
Lync Server High-Level Topology
Reverse proxy
External
Edgeserver
FederatedNetwork
Hybrid
Perimeter network
Internal
UC end points
EE pool
IP-PSTN gateway
Persistent Chat (optional)
ADMIIS
Identity
Voicemail/Archive
Monitoring
File store
Web Access
CDR/QoE/Report DB
Exchange
SCOM
DFS
Office Web Apps
SQLPBX
New!
New!
Mediation Server (optional)
PSTN
Front-end
Back-end
EdgeMore secure federation and interoperabilityExternal user ingress
PoolFewer, consolidated serversVirtualized and higher scale
ServicesConsolidated archivingSCOM, AD, DFS
4
Lync Voice Enhancements
Location-Based RoutingSupport for M:N—MS:GWSession managementImproved Caller ID managementImproved delegate routingResponse Group Manager
Support for IPv6 in all Lync components
Support for VDI for audio and video
Routing enhancements
IPv6
VDI
Lync Voice
5
Deployment types
6
Enabling gradual migration and coexistence between Lync private and public clouds
Microsoft Office 365, Lync OnlinePartner-hosted or multi-tenant
Single domain and directory Users split—server/online
Lync Server 2013Private cloud/dedicated
Lync 2013 On-premises Cloud
7
Lync Server 2013 on-premises – Full UC including Enterprise VoiceMay be used with Exchange Online or Exchange Server on-premises
Lync Online – IM, Presence, & Meetings without Enterprise VoiceMay be used with Exchange Online or Exchange Server
Lync Hybrid – Lync Server & Lync Online in a shared setupCombining both worlds, on-premises users with Full UC including Enterprise Voice , IM & Presence and Conferencing for Online users. Sharing the same namespace.
Lync Hosted – Third-party offering of Lync ServerMay be used with Exchange Online or Exchange Server. Depending on the hosting provider may include Enterprise Voice functionality
Overview of Lync Offerings
Voice Routing in LyncA quick recap of the most important elements
9
Voice Routing
Announcement orCall Park Application
1. Vacant Number Range
2. Call Park Orbit Range
DialingBehaviors
Routing &Authorization
Normalization RuleNormalization Rule
Normalization Rule
Dial Plan
PSTN UsagePSTN Usage
PSTN Usage
3. Voice Policy Routes
Route
RouteRoute
Route
External Endpoint Receives Call UC Endpoint Receives Call
User Initiates Call
User=phone
Yes
Global?No
SIP URI
Match
Reverse Number Lookup
No match
Mediation Server andTrunk Configuration
Gateway / IP-PBX / SIP Trunk Inbound Routing
404: No matching
rule
403: No route found
Yes
EmergencyCall?
No
PSTN Usage
Location Policy
Call Park Orbit Range
1
2
3
4
56
7
8
9
10
11
12
13
Must MatchA Rule
Lync ClientNormalizes
RFC 3966Starts with +
msRTCSIP-LinemsRTCSIP-PrivateLine
Policy Createsper User Routing
Convert #to Local Format
Apply CalledParty Prefs
PSTN Fallback forCAC and Network
Outages
14
Routing and AuthorizationThe big picture of the most important elements
10
Voice policies PSTN usages Routes
Called numberCost of call
Purpose (usage, caller’s intent)Calling locationPriority
User authorizationClass of serviceVoice feature set
11
Can be assigned per user, per site or global
Provides admins with flexibility to control user voice entitlementsCall Forwarding, Delegation, Call Transfer, Call Park, Simultaneous Ringing, Team Call, PSTN Rerouting, BW Policy override Malicious call tracing
Control Dialing capabilities (Class of Service) by assigning PSTN Usages
Not only for users. Also useful to address Common Area Device requirementsAssign a Voice Policy to a common area phone to prevent misuse and high cost
Voice Policies
12
A PSTN usage record specifies a class of call (such as internal, local, or long distance) that can be made by various users or groups of users in an organization
By themselves, PSTN usage records do not do anything. For them to work, they must be associated with the followingVoice policies, which are assigned to usersRoutes, which are assigned to phone numbers
PSTN Usages
13
A voice route associates destination phone numbers with one or more public switched telephone network (PSTN) gateways or SIP trunks, and one or more PSTN usage records
A route is selected based on a matching pattern
PSTN Usages control if a user is allowed to use the Route
Routes are associated with one or more trunks
Routes
MICROSOFT CONFIDENT IAL – INTERNAL ONLY
Multiple trunks in same routeGateway will be selected randomly.Useful when there is no gateway preference and multiple gateways are available for same path to PSTN.
Multiple routes in the same usageGateway selected based on matching pattern. If multiple routes match, do not rely on route ordering for enforcing preference.Used when different gateways are used for different called numbers but all belong to the same class of service.
Routes in different usagesGateway selected based on the order of the usages in the user’s voice policy.Useful for enforcing primary/secondary relationships between gateways.
Controlling Gateway Preference
14
Location-Based Routing
MICROSOFT CONFIDENT IAL – INTERNAL ONLY
LBR is designed to enable compliance with regulatory requirements that restrict toll bypassRoutes the call based on the location of the callerEnforce routing of PSTN calls to prevent toll bypassScoped to specific sites, gateways, and usersDelivered in the July 2013 update to Lync Server 2013LBR for PSTN calls was introduced in the February 2013 updateThe July 2013 update adds support for dial-out conferencing.
Introducing Location-Based Routing
16
17
Least cost routingRoute call to the gateway closest to the called partyMinimize toll charges (toll bypass)Prioritize the use of the WAN
Location-Based RoutingRoute call to the gateway closest to the calling partyMinimize use of WANEnable compliance with regulations that do not allow toll bypass
Least Cost Routing versus Location-Based Routing
Toll BypassUse the own (WAN) infrastructure as much as possibleEgress to the PSTN closest to the destinationAvoid international (costly) PSTN charges
18
Location-Based Routing in Pictures
LocationA
LocationB
PSTN
WAN
GOOD
LocationA
LocationB
PSTN
WAN
BAD
MICROSOFT CONFIDENT IAL – INTERNAL ONLY
Enforces that outgoing calls must egress from an allowed PSTN gateway in the caller’s voice policy, based on the callers locationCan prevent the incoming call to the Lync client if the endpoint is not in the PSTN gateway’s locationLync Conferencing honors LBR policies for PSTN dial-out
Location-Based Routing Capabilities
19
MICROSOFT CONFIDENT IAL – INTERNAL ONLY
57+ countries regulate VoIPCountries include: UAE, India, Egypt, Pakistan, Oman, Qatar, parts of China, many African and Asian countries
Regulation Examples No allowed to toll bypassNo allowed to bypass local telephony providers
Regulations may provide exceptions for closed user groups (such as enterprises, educational institutions, and so on) and allow VoIP and video within the user group, even if internationalDesigned specifically to enable compliance in India
Regulatory Requirements
20
MICROSOFT CONFIDENT IAL – INTERNAL ONLY
Call park and response groupsCall flows with these scenarios could violate the regulatory principlesEither a) do not deploy or b) deploy only to users within a single site
Dial-in conferencingDialing in may create a conference that has PSTN and VoIP users from different sitesFor strict compliance, do not deploy dial-in access numbers and require dial-out
UM routingDenied inbound calls are sent to UMFor strict compliance, place the UM server for a group of users in same site as the gateway that terminates their DIDs
Consultative transfersWhen a single Mediation Server serves multiple trunks (PBX and PSTN), LBR may be enforced when not necessaryDeploy additional Mediation Servers for trunks to PBX where LBR is not required
LBR Regulatory Compliance Limitations
21
Location Based RoutingSupport & Configuration
23
Location-Based Routing BasicsSiteOne or more Lync subnet(s) assigned to a locationUses existing network sites as defined for LIS, Media Bypass and E911
Voice Routing PolicyVoice policy that only contains usagesSpecifically assigned to a site for LBRContains all allowed usages for that specific site or trunk
Unknown LocationLocation (subnet) that is not known as a Lync Site
TrunkConnects gateways and mediation serversCan be enabled for LBR and must be assigned to site
24
Pool Support for Location Based RoutingPool Version Mediation Server Version Supported
Lync Server 2013 February 2013 Cumulative Update
Lync Server 2013 February 2013 Cumulative Update
Yes
Lync Server 2013 February 2013 Cumulative Update
Lync Server 2013 No
Lync Server 2013 February 2013 Cumulative Update
Lync Server 2010 No
Lync Server 2013 February 2013 Cumulative Update
Office Communications Server 2007 R2 No
Lync Server 2013 Any No
Lync Server 2010 Any No
Office Communications Server 2007 R2
Any No
25
Client Support for Location Based RoutingClient Type Supported Details
Lync 2013 YesIncluding Lync 2013 February 2013 Cumulative Update
Lync 2010 Yes
Office Communicator 2007 R2 No
Lync Phone Edition Yes
Lync Attendant Yes
Lync for Windows 8 No
Lync Mobile 2013 No
VoIP must be disabled for Lync Mobile 2013 clients if used by users with Location-Based Routing enabled.
Lync Mobile 2010 Yes
Configuring Location Based Routing
26
New-CsVoiceRoutingPolicy -Identity <voice routing policy ID> -Name <voice routing policy name> -PstnUsages <usages>
Set-CsNetworkSite -Identity <site ID> -EnableLocationBasedRouting <$true|$false> -VoiceRoutingPolicy <voice routing policy ID>
Create the Voice Routing PolicyEnable Location Based Routing for Network Sites
Enable Location Based Routing and assign a Voice Routing Policy to the Network Site
New-CsTrunkConfiguration -Identity < trunk configuration ID>
Set-CsTrunkConfiguration -Identity <trunk configuration ID> -EnableLocationRestriction $true -NetworkSiteID <site ID>
Create a Trunk Configuration (Only for PSTN gateways, not Internal PBX routes)
Enable Location Based Routing through Trunks
Enable Location Based RoutingOn the Trunk
Configuring LBR (continued)
27
Set-CsVoicePolicy -Identity <voice policy ID> -PreventPSTNTollBypass <$true|
$false>
Modify the Voice PolicyEnable LBR through Voice Policy
Set-CsRoutingConfiguration -EnableLocationBasedRouting $true
Create a Trunk Configuration (Only for PSTN gateways, not Internal PBX routes)
Enable Location Based Routing Globally
MICROSOFT CONFIDENT IAL – INTERNAL ONLY
When using LBR, the site routing policy must include a route for all possible callsIt’s possible that a call would be allowed by the user’s policy, but if it weren’t allowed by the site’s policy it would be blocked.
Trunks are associated with one network siteFor LBR, your campus must be represented as one site if using centralized SIP Trunks.
Design Considerations
28
Location Based RoutingLogic
30
Outbound Routing
MICROSOFT CONFIDENT IAL – INTERNAL ONLY
One policy for authorization and a different policy for routing
Outbound Routing
31
Authorization
Routing Decision
32
Trunk-to-Trunk Routing
Stop
Is source trunk LBR enabled?
Select next applicable usage.
Are source and destination trunks
sites the same?
YesNormal Processing
No
Select next applicable usage.
Is destination trunk LBR enabled?
No
Do not allow callYesNoAre additional usages in the site?
Do not allow call
No
Yes
Use usages from source trunk associated site
Use the usages of the user ;͛s voice policy
Yes
Are there additionalusages? NoYes
Use the usages specified in the trunk config
Is request FWD/XFER/Simulring?
No
Yes
Are source and destination trunks
sites the same?
No
Yes
Start
33
Inbound RoutingStart
Is Global LBR switch on? Is from Phone? Get site associated
with the trunkYes Yes Is source trunk LBR ? Yes
Is endpoint in the gateway site?
YesRoute to endpoint No Route to UM
Stop
No
No
No
34
The LBR conferencing application ensures that a single conference does not contain VoIP users from different sites and PSTN dial-out.If there are users in a given conference joining via Lync VoIP clients from a single network site, the following endpoints will be allowed to join the conference: a PSTN endpoint, another Lync VoIP client user from the same site, another Lync VoIP client user from a different site, or a Lync VoIP client user from an unknown network site.
If there are organizers or participants from different or unknown network sites in a given conference, a PSTN endpoint will not be allowed to join the conference via a trunk that is enabled for Location-Based Routing.
If there are organizers or participants from a single site and participants joining via PSTN in a given conference, a Lync client endpoint from a different site will not be allowed to join the conference.
Conferencing
Location Based RoutingSample Scenarios
36
Incoming PSTN calls
Behavior for Incoming calls through Site 1 GatewayCalls to Users in “Site 1” OKCalls to Users in Other Sites BlockedCalls to Users without a location Blocked
ConfigurationTrunk to Site 1 Gateway enabled for LBRSite 1 Gateway associated to Site 1 Location
37
Outgoing PSTN calls
Behavior for Outgoing callsCalls from Lync User 2:
Route through Site 1 GatewayCalls from Lync User 1
Do not route through Site 2 GatewayRoute through Site 2 Gateway instead
ConfigurationTrunk to Site 1 Gateway enabled for LBRSite 1 Gateway associated to Site 1 Location
Site 1 Voice Routing Policy -Route through Site 1 Gateway
Lync User 2 Voice Policy - Route through Site 1 GatewayLync User 1 Voice Policy - Route through Site 2 Gateway
Authorization
Routing
38
Call ForwardingConfigurationTrunk to Site 1 Gateway enabled for LBRSite 1 Gateway associated to Site 1 LocationLync User 2 forwards calls to Lync User 3Lync User 1 forwards calls to Lync User 4
Behavior for Call ForwardingIncoming call to Lync User 2
Forwarded to Lync User 3Incoming call to Lync User 1
Forwarding to Lync User 4 NOT allowed
M:N Routing
Microsoft Office Communications Server 2007 R2One Mediation Server (MS) was associated with one PSTN gateway and vice versa (1:1)
Introduction to M:N Routing
40
Lync Server 2010Multiple PSTN gateways can be associated with the same MS pool (1:N); a single PSTN gateway is associated with a single MS pool; a single SIP listening port on the MS and on the gateway are used in the association
Lync Server 2013 Multiple PSTN gateways can be associated with the same MS pool, also a particular PSTN gateway can be associated with multiple MS pools or the same MS pool with multiple unique associations
M:N Routing
41
Trunks and IP-PBX interworkingTrunks associate Mediation Servers with PSTN GatewaysMultiple trunks can be defined between Mediation Server and PSTN gateway representing IP-PBX SIP termination.Each trunk will be associated with the appropriate route for outbound calls from MS to IP-PBX.For inbound calls, per-trunk policy will be applied. Trunk configuration will be scoped globally or per trunk; similarly, dial plan can be scoped per trunk. Representative media IP is a per-trunk parameter.
Mediation Server
IP-PBX
Port A Port A1Trunk 1
Port B Port B1Trunk 2
Port n Port n1Trunk n
Trunk & IP-PBX Interworking – Real Life
42
Typical PBX deployment:
Central Call Control (PBX-10)
Decentralized Media Termination Points (MTPs / Gateways)
Technical requirements
Use MTPs on same site as Lync Client,
keep media local
Enable Media Bypass
Deployment and configuration:
1. Define PBX-10 as PSTN Gateway
Use MTP1 as Alternate Media IP-Address
The First Trunk is created automatically
2. Add Additional trunks for remaining MTPs:
Use different PBX Listening ports
3. Use PS to define RepresentativeMediaIP for each MTP/Trunk
PBX-10
PBX Extension
PBX Extension
MTP-2
MED-10
Trunk 1MED-10<->PBX-10
PBX-10 port : 5060Signaling IP : PBX-1Media IP : MTP-1
Trunk 2MED-10<->PBX-10
PBX-10 port : 5061Signaling IP : PBX-1Media IP :
Media Bypass
Media Bypass
MTP-1
PSTN GatewayPBX-10
MTP-2
50605061
M:N Routing
43
Trunks and resiliency Gateway F connects to two Mediation Servers
Resiliency does not require multiple MS listening ports.
The main reason for multiple MS listening ports is interoperability.
Fully supports TLS
Example
Port C : 5061, can be used as the MS listening port for Gateway 1 and Gateway 2
Port D : 5068 can be used on SAME MS for a different gateway or IP-PBX if required
Mediation Server C
Gateway F
Port A Port BTrunk 1
Port C
Port B
Trunk 2
Port C Port ETrunk 3
Mediation Server D
Gateway G
PSTN GatewayFQDN F
PSTN GatewayFQDN G
Resiliency with multiple Mediation PoolsTrunks & GatewaysSeparation of Configuration between Gateways and Trunks
Gateways define the next hop
Trunks define the relation between Mediation Server and Gateway
Allows for TLS, eliminates the need for Virtual Gateways
Allows for Gateway-specific inbound policies
Site 02Site 01
Lync Pool
Mediation Pool
SBCsbc1.provider.com
Mediation Pool
Trunk 1 Trunk 2
PSTN
MPLS
M:N Routing
45
Trunk definitionIn Lync Server 2013, a trunk is defined as a combination of:
MS FQDNMediation SIP listening portGateway FQDNGateway SIP listening port
This approach provides for:
Better resiliency—both service and on-premises scenarios
Better interworking with IP-PBXs for bypass
Using TLS plus Secure Real-Time Transport Protocol (SRTP) for multiple SIP trunks to the same SBC FQDN
When outbound routing matches a dialed PSTN number to a route, the route will consist of a list of trunks.
Contrast this approach with Lync 2010, where a route consisted of a list of gateways.
Session Management
“Better integration with systems certified to connect with Lync”A possible alternative for PBX integration scenarios Lync Server can support call routing from an incoming trunk to an outgoing trunk to provide routing functionalities to other systemsBy enabling intertrunk routing, the following routing paths (among others) are enabled:Incoming PSTN calls to an IP-PBX system via LyncOutgoing IP-PBX calls to a PSTN network via LyncOutgoing IP-PBX calls to another IP-PBX system via Lync
Session Management
47
48
Sample ScenariosLyncPool
LyncMediation Server
LyncMediation Server
QualifiedIP-PBX
Trunk Trunk
InboundTrunk
PSTNUsage Route Outbound
Trunk
MEDIA
QualifiedGateway
PSTN
LyncPool
LyncMediation Server
LyncMediation Server
QualifiedIP-PBX
Trunk
QualifiedIP-PBX
Trunk
InboundTrunk
PSTNUsage Route Outbound
Trunk
MEDIA
PBX User PBX User
Routing of IP-PBX Calls to Another IP-PBX System via LyncIncoming call from the PBX trunk
Validate incoming trunk associated PSTN usages
Determine a route
Apply outbound translation rules
Route to outgoing PBX trunk via Lync
Routing of IP-PBX Calls to PSTN via LyncIncoming call from the PBX trunk
Validate incoming trunk associated PSTN usages
Determine a route
Apply outbound translation rules
Route to outgoing gateway trunk
Lync supports the association of a set of PSTN usages on an incoming trunk to determine a call route to an outgoing trunkIntertrunk configuration remains familiar for the administrator with the use of existing routing configuration conceptsMedia bypass in intertrunk routing calls is supportedIntertrunk routing call authorization scope is at the trunk levelThe same call authorization applies to all calling endpoints connected via the trunk
Session Management
49
50
Using the Lync Management ShellConfigure a Voice route
Add a PSTN usage to a trunk configuration: • New -PSTNUsages property has been added
to CSTrunkConfiguration
Or through the Lync Control Panel
Configuring Session Management
New-CsVoiceRoute -Identity RedmondRoute -PstnUsages @{add=“Redmond"}
-PstnGatewayList @{add="PstnGateway:redmondgw1.contoso.com"}
Set-CsTrunkConfiguration –Identity “TrunkId”
-PstnUsages @{add=”Redmond”}
Questions?
51
54
Resources
Appendix:Implementation
MICROSOFT CONFIDENT IAL – INTERNAL ONLY
Create a voice routing policyNew-CsVoiceRoutingPolicy –Identity <PolicyID> -Name <PolicyName> -PstnUsages <Usage1>, <Usage2>
User’s assigned voice policy is used for authorization
Voice routing policy assigned to site is used to select gateway
Voice routing policy
56
MICROSOFT CONFIDENT IAL – INTERNAL ONLY
Global flagSet-CsRoutingConfiguration -EnableLocationBasedRouting $true
User’s voice policySet-CsVoicePolicy <PolicyName> -PreventPSTNTollBypass $true
Network siteSet-CsNetworkSite -Identity <SiteID> -EnableLocationBasedRouting $true-VoiceRoutingPolicy <PolicyName>
TrunkSet-CsTrunkConfiguration -Identity <TrunkID> -EnableLocationRestriction $true-NetworkSiteID <SiteID>
Enabling Location-Based Routing
57
MICROSOFT CONFIDENT IAL – INTERNAL ONLY
The Location-Based Routing conferencing app is disabled by defaultTo enable:
New-CsServerApplication-Identity Service:Registrar:<Pool FQDN>/LBRouting-Priority 0 -Enabled $true -Critical $true-Uri http://www.microsoft.com/LCS/LBRouting
This application also enforces LBR for consultative transfers
Enabling the LBR Conferencing App
58
© 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, 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.