Notes from March 2022
Planning and Designing a PSTN Solution
-
Teams Phone System
- Enables PBX funcionality in the cloud (Private Branch Exchange)
- Enables features like
- Call transfer
- Call forwarding and simultaneous ringing
- Call park and retrieve
- CallerID
- Cloud voicemail
- Any manym ore
- Requirement for any Teams PSTN solution (Public Switch Telephone Network)
-
PSTN Connectivity Solutions
- Calling Plans
- Use Microsoft cloud infrastructure for PSTN connectivity
- Direct Routing
- Bring your own carrer using Session Border (SBC)
- If you want to use your current provider
- Operator Connect
- Third party solution that brings PSTN connectivity to Teams
- SBC is managed by a third party and they take care for it for you
- Calling Plans
-
Calling Plans
- All-in-the-cloud solution where Microsoft is your PSTN carrier
- Available in two plans:
- Domestic Calling Plan
- Domestic and International Calling Plan
- Available in multiple countries
- Availability depends on user location, not tenant location
- Calling Plan Minutes Example
- US Domestic - 3000 minutes
- US Domestic and International - 3000 domestic, 600 international
- Minutes are pooled by the tenant level
- Users share minutes based on location and Calling Plan Type
- Minutes are for outbound calls
- Inbound is for “free”
- List from MS available to see for which countries calling plans are
available
- Country/region availability - Audio Conferencing, Calling Plans - Microsoft Teams | Microsoft Docs
- Also includes information what is included in the national calling plans
-
Direct Routing
-
Bring-Your-Own-Carrier
-
Use certified Session Border Controller
- Vendors provide information how to setup SBC with Teams
-
Keep phone numbers with current carrier
- Makes the migration to Teams easier
- Helps if the contract is still running for a while
-
Integration with existing infrastructure
- Analog devices
- Call centers
-
Scenarios
- Calling Plans not available in country
- Backup or supplement to Calling Plans
-
Diagram:
Untitled
-
Operator Connect
- Telephone carrier manages SBCs and PSTN connectivity
- Direct Routing as a Service
- Microsoft Operator Connect program
- Usefil if:
- Calling Plans not available in region
- Preferred carrier participates in program
- Find a new carrier integrated with Teams
- Telephone carrier manages SBCs and PSTN connectivity
-
-
Licensing Requirements
- Phone System
- Enables PBX capabilities in Teams
- Requires user to have a base Team license
- Included in SKUs like M365 Business, E1, E3, and E5
- Add-on for most scenarios
- E5 includes Phone System
- Required for both Calling Plans and Direct Routing
- Direct Routing requires a Teams license and a Phone System addon
license
- Calling Plan not needed
- Microsoft 365 Business Voice
- Small business (under 300 users)
- Voice license bundle
- Phone System
- Audio Conferencing
- With or without Calling Plan
- Can be combined with
- M365 Business
- M365 Enterprise E1, E3, E5
- Will be replaced by Teams Phone with Calling plan
- Teams Phone with Calling Plan
- New SKU
- Replaces M365 BusinessVoice for SMBs
- Single Package
- Includes Phone System and Domestic Calling Plan
- Missing the conference licensing from Business Voice
- New SKU
- Communication Credits
- Pay or additional calling minutes
- Minute pool depletion
- Domestic users make international calls
- If a user has domestic plan they can be give communication credits for internationalcalls
- Consumption billing
- Unlimited licenses
- Toll-free calling
- Audio Conferencing
- Enables dial-in number on Teams meetings
- Adds a phone number and a conference ID
- Scenarios:
- Teams app is not available
- Meeting is audio only
- Internet connectivity is limited
- Dial-out to add users (call-me-at)
- Add-on license assigned to individual users
- Included in E5
- Starting March 1, 2022:
- Unlimited dial-in capabilities added to M365 and O365 licenses
- Enables dial-in number on Teams meetings
- Speciality Licenses
-
Microsoft Teams Rooms
- Designed for meeting room devices
- Standard and Premium
- Premium includes a service where MS manages the Device (Patch, Issue troubleshooting)
-
Commen AreaPhone
- Includes Team and Phone System lienses
-
Phone System Virtual User
- Call Queues and Auto Attendants
Untitled
-
- Phone System
-
Certified Contact Centers
- Auto Attendants and Call Queues meet most organization’s needs
- Some organizations need advanced capabilities
- Integration with business tools and workflows
- Contact Center as a Service (CCaaS)
- Certified Contact Center solution providersthat integrate with Teams
- Integration Models
- Connet Model
- Uses SBCs and Direct Routing to connect to provider solution
- Extend Model
- Uses Azure Bots and Graph API to create Teams app
- Power Model
- Uses SDK to provide Teams experience inside of customer app
- Connet Model
- Network Topology
- Network topology includes details about enterprise network
- Network topology is required for:
- Location-based routing in Direct Routing
- Dynamic emergency calling
- Policy assignments at a network level
- Network Topology Components
- Network Subnet
- Network CIDR ranges where clients are found 192.168.10.0/24
- Network Site
- Collection of Network Subnets representing a physical location
- Network Region
- Collection of Network Sites over a geographic region
- Network Subnet
- Trusted IP Address
- External IP address of enterprise network
- Determines if user is inside the corporate network
- If external IP address is in trusted list, verifies internal subet
- If no match, then user’s location is classified as unknown
- Helps determine available voice features
Designing and Configuring Emergency Calling
-
Overview class
- Understanding emergencylocations
- Compare emergencyc alling
- Static and dynamic
- Define Location Information Service database
- Create emergency calling policies
- Test emergencyc calling
-
Emergency Addresses
-
Teams Client address can be seen in Settings -> Calls -> Emergency location at the bottom
Untitled
-
-
Terminology
- Emergency Address: physical address (60 State St, Boston, MA
- Place: Floor, building, wing, office number (Suite 800)
- Emergency Location: Emergency Address and optional Place
- Registered Address: Emergency Address asssigned to a user
- Their address of record for their location
- Only applies to Calling Plans
-
Managing Emergency Addresses
- Validation ensures address is legitimate
- Geo codes
- Used in some countries to help route emergency calls
- Registered emergency address required for phone number management
-
Static Emergency Calling
- Applies to Calling Plans and Operator Connect
- Automatically enabled
- Required for asssigning or procuring phone numbers
- Emergency address included in emergencycalls
- If call is made then it is routed to a Public Safety Answering Point (PSAP)
- Emergency calling routign depends on country calling network
- Calls can be screened to determine user location
-
Dynamic Emergency Calling
- Appliest o Calling Plans, Operator Connect, and Direct Routing
- Dynamically determining location based on Teams client
- Overrides any static, registered address
- Used to determine appropriate PSAP
- Requires Location Information Service (LIS) database
- Seperate from Network topology
- Add trusted IP addresses for corporate network
- To determine if user is in the office or at home
- LIS Components
-
Subnet
-
Wireless Access Point
- Upload of basic identifiers /BSID possible
- Each Access Point has ist own BSID
-
Switches
- Uses chassy ID
-
Ports
- Chassy ID is needed and Ports
-
Direct Routing Configuration
Untitled
-
Emergenc Policies
- Available under Voice - Emergency Policies
- Emergency Calling Policy
- What happens when a Teams user makes an emergency call
- Applies to Calling Plans and Direct Routing
- Notification can be sent to user, group or include another phone number into the call
- Emergency Call Routing for Direct Routing
- Control how emergency calls are routed
- To which SBC should the call be routed
-
Phone Numbers
- Overview
- Understand different phone number types
- How to aquire phone numbers
- Provision from portal
- Port orders
- Demos
- Aquiring phone numbers
- Managing user phone numbers
- Submitting requests to the Phone Number Service Center
- Phone Number Types
- User or Subscripter numbers
- Assign to users in the organization
- Designed for low call volume
- Higher call volumes are meant to queues
- Two types
- Geographic: related to specific area - most common number
- Non-geophraphic: no relationship to an area - for example in Denmark common
- Service Phone numbers
- Used for audio conferencing, auto attendants and call queues
- Designed for higher call volumes
- Two types:
- Toll
- Toll-free: no cost to caller
- Can convert between user and service phone numbers
- Acquiring phone numbers
- Port Orders
- Trans phone number to Microsoft Teams
- Microsoft becomes service provider
- Port process differes based on country
- Letter of Authorization (LOA)
- Full and partial ports
- Port timing depends on losing carrier
- Convert user to service after port completion
- Getting Phone Numbers
- Calling Plans
- Teams admin center, Port order, manual request
- Manual request if its large number of numbers or if you want a certain block
- Operator Connect
- Operators website, Port to order, added to tenant
- Direct Routing
- Managed by carrier, Assigned using PowerShell
- Calling Plans
- Port Orders
Configuring Phone Policies
- Overview
- Explore Phone System policies
- Calling policy
- Caller ID policy
- Call park policy
- Configure inbound and outbound call restrictions
- Create compliance recording policy
- Managing dialing with dial plans
- Explore Phone System policies
- Calling Policy
- Controls calling features for users
- Private calling
- Call forwarding
- Voice mail
- Call groups
- All policies have a Global policy, or custom policy
- Caller ID Policy
- Indound
- Display incoming external phone number
- Looks for matches in Azure or personal contact
- Outbound
- User’s telephone number (default)
- Anonymous, substitute with service number, CNAM
- Options
- Block incoming caller ID
- Override the caller ID policy
- Replace the caller ID with - Users number, Service number or Anonymous
- Replace the caller ID with this service number
- Indound
- Call Park Policy
- Enabled by default
- User places call on hold
- Unique code is generatedf or retrieval
- For example in a department store setting
- Policy manages code range and timeout values
- Options
- Call park - Off / On
- Call pickup start of range
- Call pickup end of range
- Park timeout (seconds)
- Controls calling features for users
- Inbound Call Blocking
- Block inboundcalls from PSTN at the tenant global level
- Create number patterns using regex to match incoming calls
- Match found, call is rejected
- PowerShell configuration only
- New-CsInboundBlockedNumberPattern
- Test-CsInboundBlockedNumberPattern -PhoneNumber 13125551234
- IsNumberBlocked (True or False)
- Individual users cannot manage this global list
- Users can configure personal block list in Teams client
- Done from Calls - Contacts - Block contact
- Outbound Call Restrictions
- Control users from making outbound PSTN calls
- Control options
- Internal and Demostic (default)
- Domestic
- None
- Like for conferencing systems
- Compliance Recoding
-
Allows to record calls and online meetings automatically for retention
-
Capture audio, video, screen share, chat
-
Provided through third-party through Compliance Recording Certification Program
- Communications Platform APIs
-
Made possible through Recorder (Azure bot)
- Has a direct connection and is added to the conversation
-
Policy managed through PowerShell
-
Teams versus Compliance Recording:
Untitled
-
PowerShell commands to configure
New-CsOnlineApplicationInstance
- To create the RecordingBot
- ApplicationID must be an existing Azure Bot Recording Application
- Create a resource account (under Voice -> Resource accaunts)
- User account is blocked
Sync-CsOnlineApplicationInstance
- To sync to Azure AD
New-CsTeamsComplianceRecordingPolicy
- Create a policy
- A Recording Application needs to be assigned
Set-CsTeamsComplianceRecordingPolicy -ComplianceRecordingApplication @(New-CsTeamsComplianceRecordingApplication)
Grant-CsTeamsComplianceRecordingPolicy
- To assign user to Policy
- Identity can be SIP
-
- Dial Plans
-
Translating dialed phone numbers
-
Set of normalization rules defined using regex
-
Used for call authorization andvoice routing
- Modify extensions into full E.164 numbers
- Add digits for locald ialing
-
Administration through Teams admin center and PowerShell
-
Dial plan types
- Service Scoped - Mandatory
- Country or region-based
- Automatically always assigned
- Rules cannot be modified
- Can be combined with Tenant dial plan
- Tenant scoped - Optional
- Customized dial plans
- Combined with Service plan
- Global or user applicable
- Service Scoped - Mandatory
-
Dial Plan Scenarios
Untitled
-
PowerShell
Get-CsDialPlan -Identity US |Select-Object -ExpandProperty NormalizationRules
Get-CsTenantDialPlan -Identity Global
New-CSTenantDialPlan
New-CsVoiceNormalizationRule
Set-CsTenantDIalPlan
Test-CsEffectiveTenantDialPlan -Identity UPN -DialedNumber
- Shows the matching rulef or the number
-
Dial Plan Creation
- External dialing prefix can be attached
- Normalization can be appliedin GUI in plan
- Rules can be ranked. After on matches no further processing of the rules
-
Configuring Auto Attendants and Call Queues
-
Overview
- Teams Voice applications
- Call Queues
- Auto Attendants
- Managing resourcre accounts
- Designing voice applications
- Hybrid Deployment overview
- Teams Voice applications
-
Call Queues
- Holding area for callers
- Connects a caller to a group of agents
- Agents are enterprise voice-enabled (min Phone System)
- Multiple optionsf or call distribution
- Agent opt-in or opt-out capability
- Custom hold music
- Handle queue overflow or timeouts
- Routing Methods
- Attendant Routing: ring all agents at the same time
- Serial Routing: rings agents one at a time in specific order
- Round Robin: balances so each agent gets the same number of calls
- Longest Idle. Routes to longest available agent based on status
- Additional Configuration
- Conference mode (new feature)
- Reduces time for caller/agent connection
- Not supported when routed from a Direct Routing gateway enabled for Location Based Routing
- Channel-Based
- Can take up to 24hours to be available
- Create a call queue in Microsoft Teams - Microsoft Teams | Microsoft Docs
- Support up to 200 agents via a Teams channel
- Shared call history and voice mail
- Can view shared call history and voicemail
- Needs a resource account
- Custm Music on Hold
- Teams provides default music
- Upload MP3, WAV, or WMA file
- Conference mode (new feature)
-
Auto Attendants
- Menu system for routing incoming calls
- Direct to people, call queues, voice mail or another auto attendant
- Use service phone numbers for external access
- Features
- Text-to-speech or recorded audio
- Keypad or voice recognition
- Operator: Can be an external phone number or a call queue
- Business hours and holidays
- Set timezone
- Multiple languages supported
- Directory search (name or extension)
- Scope can be set (Include group, exclude group)
- Menu actions
- Redirect to operator or person in organization
- Redirect to Voice app (another auto attendant, call queue)
- Redirect to Voice mail
- External phone number
- Announcement (announcing that office is closed or the way to the office)
- M365 Group Shared Voice Mail
- Enabled for voice mail by default
- Users access shared mailbox to manage messages
- Define group as voice mail action target
- Channel-based call queue, use them
- Team is backed by an M365 group
-
Resource Accounts
-
Disabled user object in Azure AD
- Sign-in is blocked
- Dedicated account for each call queue and auto attendant
- Uses Phone System - Virtual User license
- Free licenses available
- When out, then assign regulary Phone System license
- Can assign service phone numbers to resource account
- Toll or toll-free
- Toll-free need communication credits
- Toll or toll-free
-
Licensing Resource Accounts
- Phone System -Virtual User license
- Free license
- Enabled Teams Phone System functionality
- Outbound calling
- Calling Plan
- Operator Connect
- Direct Routing (voice routing policy)
- Phone System -Virtual User license
-
Voice Application Design Example
Untitled
-
-
Hybrid Deployments
- Integrate with Skype for Business Server
- Skype for BusinessServer 2019 or newer supports Cloud Voice features
- Auto Attendant, Call Queue, Voice Mail
- Incoming calls from Microsoft PSTN, Skype for Business Server, or SBC
- Resource accounts can be homed online or on-remises
- Requires hybrid configuration with Teams and Skype for Business Server
- Skype for BusinessServer 2019 or newer supports Cloud Voice features
- Hybrid Resource Account PowerShell
# Create on-premises resource account for auto attendant or call queue
New-CsHybridApplicationEndpoint `
-ApplicationID <GUID> `
-DisplayName “Boston Office Auto Attendant” `
-SipAddress aa-boston-office@globointl.xyz `
-OU "ou=Boston,dc=globointl,dc=xyz“
# Assign an online service number to resource account
Set-CsHybridApplicationEndpoint `
-Identity aa-boston-office@globointl.xyz ` -LineURI tel:+14255550100
# Assign a Direct Routing or hybrid number to resource account
Set-CsOnlineApplicationInstance `
-Identity aa-boston-office@globointl.xyz `-OnpremPhoneNumber tel:+14255550100 - Integrate with Skype for Business Server
Configure Audio Conferencing
-
Overview
- Audio Conferencing basics
- Conference bridge settings
- Number types
- Licensing
- Managing user settings
-
Audio Conferencing Basics
- Enables users to call into meetings
- Up to 1000 dial-in attendees
- Adds dial-in number and conference ID to Teams meetings
- Scenarios
- Poor internet connectivity
- Audio-only meeting
- Ease of use and convenience
- Service phone numbers
- Toll and toll-free
- Multiple language support
- Conferencing Bridge
- Contains list of available dial-in phone numbers
- Responsible for:
- Answering incoming calls
- Prompting for meetings Ids
- Recording participant names
- Authenticating using PINs
- Each conference bridge has a default language
- Number Types
- Shared
- Shared with other Team tenants
- Cannot change default language
- Dedicated
- Dedicated to your tenant
- Customizable language options
- Toll-Free
- Dial in free of charge
- Uses Communications Credits
- Shared
- Operator Connect Conferencing
- Use phone numbers from third-party providers
- Must be member of Operator Connect program
- Scenarios
- More flexible allocation of numbers
- Existing contract with carrier
- Expanded global coverage
- Use phone numbers from third-party providers
- Outbound Dialing from Meetings
- Dial-Out / Call-Me-At
- Conferencing bridge creates an outbound call
- Scenarios
- Dial cell phone jor joining meeting audio
- Add another person to meeting
- Licensing and minute restrictions considerations
- Can restrict dial-out using policies
- Enables users to call into meetings
-
Licensing
- Subscription Licensing
- Audio Conferencing add-on license
- Already included in E5 SKU
- Only required for people scheduling or organizing dial-in
meetings
- Participants can dial-in without license
- New for 2022
- Microsoft adds unlimited dial-in for Teams meetings
- Use Communication Credits for toll-free numbers
- Audio Conferencing add-on license
- Pay-Per-Minute Licensing
- Pay per-minute usage instead of monthlylicense
- Available onlyt o volume licensing customers
- More flexibility in pricing versus monthly subscription
- Inbound calls to toll and toll-free Audio Conferencing numbers
- Outbound calls placed to external phones from within meeting
- Outbound Dialing Benefit
-
Each Audio Conferencing license provides 60 minutes of outbound calling per month
- Pooled at tenant level
- Based on purchase licenses
- Only applies to subscription model
- Applies to Zone A countries
-
Dialing out to non-Zone A countries required Communication Credits
- Charged perminute of usage
-
Use policies to restrict outbound calling
-
Outbound Dialing Scenarios
Untitled
-
- Subscription Licensing
-
PowerShell
Get-CsOnlineDialInConferencingBridge | Select-Object -ExpandProperty ServiceNumbers
Get-CsOnlineDialInConferencingSettings
- Has additional settings than in in the GUI like MaskPstnNumbersType: MaskedForExternalUsers
Get-CsOnlineDialOutPolicy
Get-CsOnlineDialInConferencingUser
- Shows information like ServiceNUmber, TollFreeServiceNumber