---
title: "Teams Direct Routing calls fail or don't ring"
url: "https://enfonica.com/help/teams-direct-routing/teams-calls-not-working"
summary: "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."
type: troubleshooting
audience: everyone
products: ["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"
---

# 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

First check the [Enfonica status page](https://enfonica.status.io/) for a known incident.

## 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.

| Half | What's in it | Who fixes it |
| --- | --- | --- |
| Your Microsoft 365 tenant | Licenses, 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 devices | Your IT team or MSP |
| Enfonica | Your Teams Direct Routing SIP domain and its channels, your phone numbers and their incoming call handlers, and the connection to Microsoft | You, 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](https://enfonica.com/help/call-troubleshooting/find-call-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

What you see: `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.

**To 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.

**To fix it**, 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](https://enfonica.com/docs/cloud-sip/guides/teams-direct-routing/) 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.

**To fix it**, 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

What you see: `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.

**To fix it**, 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.

**To 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.

**To fix it**, 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

What you see: `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.

**To fix it:**

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](https://enfonica.com/help/call-troubleshooting/calls-fail-when-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.

**To fix it**, your IT team or MSP runs the voice policy and voice route scripts from the [docs](https://enfonica.com/docs/cloud-sip/guides/teams-direct-routing/) 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.

**To fix it**, wait a few minutes, and then restart the Teams app. To check why the dial pad is missing, use Microsoft's [Remote Connectivity Analyzer](https://testconnectivity.microsoft.com/tests/TeamsDialpadMissing/input).

## 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.

**To fix it**, 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.

**To fix it**, 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

What you see: `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 calls drop partway through, see [Calls drop or cut out mid-call](https://enfonica.com/help/call-troubleshooting/calls-dropping).
- If calls connect with no audio or one-way audio, see [Calls connect but there's no audio](https://enfonica.com/help/call-troubleshooting/one-way-or-no-audio).
- If some numbers can't be called at all, see [Outbound calls aren't going through](https://enfonica.com/help/call-troubleshooting/outbound-calls-fail).

## 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](https://enfonica.com/contact-support?article=%2Fhelp%2Fteams-direct-routing%2Fteams-calls-not-working&topic=call-fault)

## Related

- [Connect Microsoft Teams Direct Routing to Enfonica](https://enfonica.com/help/teams-direct-routing/connect-teams-direct-routing.md)
- [Some calls fail when you're busy](https://enfonica.com/help/call-troubleshooting/calls-fail-when-busy.md)
- [Find a call and read its SIP trace](https://enfonica.com/help/call-troubleshooting/find-call-sip-trace.md)
- [Calls drop or cut out mid-call](https://enfonica.com/help/call-troubleshooting/calls-dropping.md)
- [Configuring Teams Direct Routing, with PowerShell scripts (docs)](https://enfonica.com/docs/cloud-sip/guides/teams-direct-routing/)

---

Web version: https://enfonica.com/help/teams-direct-routing/teams-calls-not-working
