Skip to main content

Reference guide for Duet for Microsoft Teams

Updated over 2 weeks ago

The FQDNs of the SBCs or, in the case of Hosted Duet, the Voice routes, must be correctly validated before Microsoft Teams is able to use them.

  1. Log into the Microsoft 365 admin center and on the left-hand panel select Settings and then Domains.

  2. Enter the FQDNs provided by Bandwidth if Hosted or the FQDNs of the customer’s SBCs.

  3. Add the “txt” records to DNS.

    • If the customer is using their own SBC, then they will manage DNS and add the appropriate “txt” records as required by Microsoft.

    • If Hosted, provide the “txt” record back to Bandwidth. Once Bandwidth adds the “txt” record to the domain then the last step is for the customer to validate the domain.

Once completed, the FQDNs status should show “No Services Selected” for the FQDNs.

Screen_Shot_2022-10-04_at_6.07.54_PM.png

In order for Microsoft Teams to use the new FQDNs, you must assign a temporary user to each of the FQDNs. This is done as a requirement in order for the SBCs or the Voice routes to be successfully added in Teams.

  1. Log into the Microsoft 365 admin center and on the left-hand panel Select Users, then Active Users. Add a new temporary user and select the newly created FQDNs in the Domains drop-down.

  2. Make sure a temporary user has been assigned to each of the FQDNs.

Screen_Shot_2022-10-04_at_6.10.46_PM.png

Setting up Direct Routing

Once the correct FQDNs have been set up, you can proceed with setting up Direct Routing. It's recommended by Microsoft to utilize Powershell when building out Direct Routing and scaling to support a large number of users.

  1. Log into Powershell and in the Windows Command Prompt type Powershell.

Screen_Shot_2022-10-04_at_6.46.44_PM.png
  1. Connect to Microsoft Teams Tenant. From Powershell, type connect-MicrosoftTeams and enter the appropriate admin credentials.

Screen_Shot_2022-10-04_at_6.47.28_PM.png

If you're unfamiliar with Microsoft Teams Direct Routing and the steps required, please review Migrate to Direct Routing before proceeding. The following should be used as general guidelines as each customer may have unique routing requirements.

  1. Create a usage policy called Bandwidth. This is used as a reference in Teams so calls can be associated with Bandwidth.

Screen_Shot_2022-10-04_at_6.49.46_PM.png

The Identity refers to the default Voice routing policy in Teams called “Global”. If an Enterprise is using a different name please make sure it's referenced correctly.

  1. Add a phone number to a user. Make sure the format of the number is in E.164. There are other optional commands a customer may want to include in the Set-CsUser string, such as “-HostedVoiceMail $true”

Screen_Shot_2022-10-04_at_6.52.52_PM.png
  1. Add the SBC and Voice routes. If Hosted, the only thing that needs to be added here is the Voice Routes. Confirm correct SBC FQDNs and the SIP Signaling Port.

Screen_Shot_2022-10-04_at_6.53.38_PM.png
Screen_Shot_2022-10-04_at_6.54.21_PM.png

The number pattern above assumes that all calls will go to Bandwidth. If the customer has advanced call routing requirements then refer them to Microsoft Documentation.

  1. Assign user the Voice policy that will allow them to make calls using either the SBC or, if Hosted, the Voice routes provided by Bandwidth.

Screen_Shot_2022-10-04_at_6.59.21_PM.png

Troubleshooting Duet for Microsoft Teams

I'm unable to add either SBCs or Voice routes to Teams

  1. Validate that the DNS entries for all FQDNs are accurate and confirm that their status is “No Services Selected”.

  2. Confirm that temporary users were added to the new SBC FQDNs.

  3. Wait up to 24 hours for DNS to propagate in Azure.

I'm unable to make calls

  1. Verify that the user has been added to the correct Voice Policy.

Screen_Shot_2022-10-05_at_10.52.28_AM.png
  1. Verify that the user has been added to teams with “EnterpriseVoiceEnabled” set to "True" in Powershell.

Screen_Shot_2022-10-05_at_10.53.33_AM.png
  1. Log out of Teams desktop and log in again.

The contact pad in Teams is missing

  1. Make sure the user has the appropriate Microsoft licensing applied.

  2. Verify that the user has been added to teams with “EnterpriseVoiceEnabled” set to "True" in Powershell.

Screen_Shot_2022-10-05_at_10.54.48_AM.png

Where can I see the Emergency Location on the desktop?

Screen_Shot_2022-10-05_at_11.11.57_AM.png

Powershell reference commands for Microsoft Teams

Get-CsOnlinePSTNGateway

Screen_Shot_2022-10-05_at_11.12.50_AM.png

Get-CsOnlineVoiceRoutingPolicy

Screen_Shot_2022-10-05_at_11.13.13_AM.png

Get-CsOnlinePstnUsage

Screen_Shot_2022-10-05_at_11.13.45_AM.png

Get-CsOnlineVoiceRoute

Screen_Shot_2022-10-05_at_11.14.23_AM.png

Get-CsOnlineUser -id [email protected] | fl UserPrincipalName, EnterpriseVoiceEnabled, OnPremLineURI, DialPlan, VoicePolicy, HostedVoiceMail, OnlineVoiceRoutingPolicy, TeamsCallingPolicy, TeamsInteropPolicy

Screen_Shot_2022-10-05_at_11.15.05_AM.png

Microsoft Teams admin screenshots

Using the Users tab to list all users on Teams and the corresponding numbers, policies, and status.

Screen_Shot_2022-10-05_at_11.16.46_AM.png

Using the Emergency policies tab to enable Dynamic Calling and set the dial strings for emergency numbers.

Screen_Shot_2022-10-05_at_11.17.44_AM.png

Using the Emergency policies tab to setup associated notifications and type when someone dials Emergency Services.

Screen_Shot_2022-10-05_at_11.28.49_AM.png

Using the Direct Routing tab to add SBCs and Voice Routes.

Screen_Shot_2022-10-05_at_11.30.08_AM.png

Using the Direct Routing tab to configure Voice Routes based on Dialed Number Pattern and the associated SBCs.

Screen_Shot_2022-10-05_at_11.30.44_AM.png

Using the Voice routing policies tab to create the PSTN usage records.

Screen_Shot_2022-10-05_at_11.31.14_AM.png

Using the Calling Policies tab to configure the settings of a particular calling policy.

Screen_Shot_2022-10-05_at_11.31.45_AM.png

Using Users and Policies tabs to view on a per user basis what policies are assigned to a user.

Screen_Shot_2022-10-05_at_11.32.10_AM.png

Troubleshooting Microsoft Teams

The Teams Desktop client has the ability to create debug files that can be used for troubleshooting purposes:

Windows - CTL+ALT+SHIFT+1 - this creates a number of logs
MAC - OPTION+COMMAND+SHIFT+1

Accessing additional logs details from Teams admin:

  1. In the Users tab select a user.

Screen_Shot_2022-10-05_at_11.33.53_AM.png
  1. Under the user selected select Meetings & calls.

Screen_Shot_2022-10-05_at_11.34.22_AM.png
  1. The Overview tab provides data related to the device/system/network/connectivity. It also shows audio quality and response codes.

Screen_Shot_2022-10-05_at_11.35.09_AM.png
  1. The Advanced tab contains additional information related to media including Inbound/Outboud statistics. This tab also shows the local IP address which can be used to determine the location relationship for DLR Emergency Services.

Screen_Shot_2022-10-05_at_11.37.24_AM.png
  1. The Debug tab includes information about connectivity and media and can be exported as well.

Screen_Shot_2022-10-05_at_11.38.16_AM.png

Reporting & Analytics for Microsoft Teams.

There are several built-in reports available in the Teams Admin Center. To access these reports select Analytics & reports from the left side menu and select the appropriate report.

Screen_Shot_2022-10-05_at_11.38.45_AM.png

Be sure to select Direct Routing from the middle of screen rather than Native Microsoft Calling Plans. The usage reports are not real-time but they do include information about every call sent or received from a user. These reports can be filtered; column displays can be edited; and the reports can also be exported to Excel.

Screen_Shot_2022-10-05_at_11.39.52_AM.png
Did this answer your question?