Troubleshooting

Teams Direct Routing calls fail or don't ring

Short answer

Most Teams Direct Routing faults are in your Microsoft 365 tenant, which your IT team or MSP fixes. A 404 means the number isn't assigned to a Teams user, and "User is busy" means they're on another call. Enfonica's half is the SIP domain, its channels and each number's call handler.

Applies to
Teams Direct Routing, Cloud SIP, Phone Numbers
Works with
Microsoft Teams Phone
Who can do this
Your Microsoft 365 admin or MSP, and your Enfonica project's admin

Check for a known incident first. If there is one, we're already working on it, and there's nothing to change on your side.

Checking Enfonica system status…

Status page
On this page
  1. What are you seeing?
  2. Which half is it?
  3. Incoming calls fail, and callers hear busy
  4. Incoming calls fail when the person is already on a call
  5. A flow keeps ringing a Teams user who's already on a call
  6. A second outgoing call fails while another is in progress
  7. Outgoing calls fail and don't appear in the Console
  8. PowerShell or Teams doesn't recognize your SIP domain
  9. Only one user has a problem
  10. Calls that worked start failing for many users at once
  11. Other problems with calls in Teams
  12. If nothing here fixed it
  13. What to send us
  14. Related

What are you seeing?

Which half is it?

A Teams Direct Routing call passes through two systems, and different people fix each one. Start by finding which half the problem is in, so that nobody waits on the wrong team.

HalfWhat's in itWho fixes it
Your Microsoft 365 tenantLicenses, users, and the numbers assigned to them; the dial plan, voice routing policy, and voice route; domain verification; voicemail and call queues; Teams apps and devicesYour IT team or MSP
EnfonicaYour Teams Direct Routing SIP domain and its channels, your phone numbers and their incoming call handlers, and the connection to MicrosoftYou, in the Enfonica Console, or our support team

Enfonica never needs admin access to your tenant, so we can't see or change anything in it. We can see every call that reaches us. Find the call in Cloud Voice > Calls in the Console. To learn how, see Find a call and read its SIP trace.

What you find tells you which half to look at:

  • If an incoming call is listed, and its SIP trace shows Teams answering with an error, the call reached Microsoft and Teams refused it. The fix is in your tenant.
  • If an outgoing call from Teams isn't listed at all, Teams never sent it to Enfonica. The fix is also in your tenant.
  • If only one user is affected while everyone else's calls work, the cause is that user's setup, device, or network.

Then use the sections below.

Incoming calls fail, and callers hear busy

404 Not Found

This is the most common Teams fault after setup. The SIP trace shows Teams answering the call with 404 Not Found. In the Console, the call's error is ENDPOINT, "The endpoint is not connected". Callers often hear a busy tone.

The number isn't set up for a user in Teams

Teams returns 404 when it doesn't know the number that was called. Enfonica sends the number in +E.164 (full international format with a plus), so the number assigned in Teams must match it exactly.

Check

Find the called number in the SIP trace, such as +61255501234. This is the cause if that number isn't assigned to anyone in your tenant, or if only some numbers fail.

Fix

Ask your IT team or MSP to check these three things in your tenant:

  • The user has a license that includes Teams, plus a Teams Phone Standard license.
  • The number is assigned to the user as a Direct Routing number, in +E.164, for example +61255501234.
  • The user has the voice routing policy and dial plan, and the voice route is in place.

The Teams Direct Routing guide in the docs has the PowerShell for each of these. Microsoft 365 can take a while to apply a change, so test again after a few minutes.

The number isn't in use in Teams

A number can point at Teams without being assigned to anyone, such as a spare number from a range. It gets the same 404 every time it's called.

Fix

Assign the number to a user, resource account, or queue in Teams. Or, in the Enfonica Console, change the number's incoming call handler to send calls somewhere else.

Incoming calls fail when the person is already on a call

User is busy and currently active on another call

Teams turns the call away because the user is busy. The SIP trace shows the reason Q.850;cause=34 and the message above. Enfonica treats this as a busy call, so the caller hears busy after a single attempt.

Fix

Decide what should happen to busy callers:

  • In your tenant, your IT team or MSP can send them to the user's voicemail or a call queue.
  • If the number's calls go through a flow in Enfonica Flow, you can add a voicemail step after the step that calls the user.

A flow keeps ringing a Teams user who's already on a call

Teams shows the new call to the user instead of saying they're busy, so the flow waits until its ring time runs out before it moves on.

Check

Call the number while the user is on another call. This is the cause if the call rings for the whole ring time, and then the flow moves to its next step.

Fix

Ask your IT team or MSP to turn on Busy on Busy in the user's Teams calling policy. Teams then returns busy straight away, and the flow moves on to its next step, such as voicemail or another person.

A second outgoing call fails while another is in progress

503 Channel Limit Reached

Calls work most of the time, and then fail at busy moments, often when two people call out at once. Your Teams Direct Routing SIP domain allows a set number of simultaneous outgoing calls (channels), and a new SIP domain starts with one. Incoming calls don't count toward it.

This one is on the Enfonica side, and you can change it yourself.

Fix

  1. In the Console, go to Cloud SIP, and open your Teams Direct Routing SIP domain.
  2. Select Edit next to Bundle plan, or change the Channel limit field in the Teams direct routing section, whichever your Console shows.
  3. Select Save Changes.

You're billed on your channels, so choose the number of simultaneous outgoing calls your users need. For more about channels, see Some calls fail when you're busy.

Outgoing calls fail and don't appear in the Console

If a call made from Teams isn't listed in Cloud Voice > Calls, Teams didn't send it to Enfonica. The fix is in your tenant.

The voice route or policy isn't in place

Teams sends calls to Enfonica only when the voice route, PSTN usage record, and voice routing policy exist, and the user has the policy.

Fix

Your IT team or MSP runs the voice policy and voice route scripts from the docs again. They check that each script completed without an error, and then grant the policy and dial plan to the user.

There's no dial pad in Teams

Without a dial pad, the user can't call phone numbers at all. It usually means that Microsoft 365 hasn't finished applying the user's license, number, or policy.

Fix

Wait a few minutes, and then restart the Teams app. To check why the dial pad is missing, use Microsoft's Remote Connectivity Analyzer.

PowerShell or Teams doesn't recognize your SIP domain

On a new setup, a step can fail even when it's correct. Microsoft 365 can take minutes, hours, or in rare cases days to recognize a new domain.

Fix

Check these things in your tenant, and then wait and try again:

  • The SIP domain shows as verified in the Microsoft 365 admin center.
  • The user whose email address is on your SIP domain has the Microsoft Teams Phone Resource Account license.

You don't need any DNS records beyond the verification record.

Only one user has a problem

When everyone else on the tenant can call through the same SIP domain, the trunk is working. The cause is that user's Teams setup, device, or network. Delays of 20 to 30 seconds before a call connects are a common example.

Fix

Your IT team or MSP compares the user's license, number, and policies with a user whose calls work. To narrow it down further, try these tests:

  • Make a test call from the Teams mobile app on mobile data. If the problem goes away, it's the user's computer or network.
  • Make a test call with a wired headset or the laptop's own microphone. Bluetooth headsets can delay the start of a call.
  • To see where the time goes, in the Teams admin center, go to Users, select the user, open Meetings & calls, and select the call.

Calls that worked start failing for many users at once

No endpoints are available

When working calls fail across a tenant with no change on your side, check the status light at the top of this page first. Changes on Microsoft's side can occasionally affect Direct Routing. When they do, we post it on the status page and work on it. There's nothing to change in your tenant during an incident.

The Console might show the error APPLICATION, "No endpoints are available". This means that none of Microsoft's Direct Routing addresses accepted the call. If there's no incident on the status page, send us a few example calls.

Other problems with calls in Teams

If nothing here fixed it

Send us a few example calls with the details below, and we'll check the Enfonica half and tell you what we see. If your IT team or MSP finds something in the Teams call analytics that points to the trunk, include it. It helps us find the cause quickly.

What to send us

Include these and we can find the call straight away.

  • The number that made the call and the number it called, in full international format (for example +61255501234).
  • The date and time of the call, with your timezone.
  • Whether the call was inbound or outbound.
  • The call ID, if the Console shows the call.
  • What happened: an error message, silence, a busy tone or a dropped call.
Contact support

Our support team are telco specialists, backed by the engineers who run the network.