You can using Microsoft Teams Audio Conferencing licenses to get Dial-In phone numbers for your meetings. The license is needed per user that creates the meeting invites.

The phone number in the meeting invite is based on the UsageLocation attribute of the user - once when the user gets enabled for Audio Conferencing. So even if you fix a wrong UsageLocation, the user will still have the old dial-in number assigned.

Use Teams Admin Center to change Dial-In Number for a single user

Users ➔ Manage Users ➔ Click on any user ➔ Click on “Edit” next to “Audio Conferencing” ➔ Select “Toll number” according to User Location.

Microsoft Teams Admin Center with options to change the dialin number for a user.

Use PowerShell to change Dial-In Number for multiple users

Note: You need to have the Microsoft Teams PowerShell module installed.

I call these numbers “Dial-In numbers”, but the internal name is “ServiceNumber”. You can get a list of all available numbers using Get-CsOnlineDialInConferencingServiceNumber.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
# Connect to MS Teams
Connect-MicrosoftTeams

# List all available dial-in numbers
Get-CsOnlineDialInConferencingServiceNumber

# Set Dial-in number. This is an example value. Yes, we omit the leading +plus symbol.
$dialInNumber = 1234567890

# Get all users that you want to change. This is an example that gets all users with UsageLocation "US" - change accordingly to your needs with other filters
$users = Get-CsOnlineUser -Filter 'UsageLocation -eq "US"' -ResultSize Unlimited

# Loop through the users
foreach($user in $users) {
 # Apply new dial-in number for meetings for each user
 Set-CsOnlineDialInConferencingUser -Identity $user.Identity -ServiceNumber $dialInNumber
}

Source

Initial assignment of phone numbers