Microsoft Entra ID
Authentication

Plan for resiliency and high availability

In brief

The resiliency article now consistently uses “telephony provider” instead of “telecom provider” and updates related headings, anchors, links, and sample-resource labels.

What Entra admins need to know

Administrators get more consistent terminology and clearer links when planning CYOT regional and provider resiliency.

This editorial summary was generated by AI from the documentation changes. Verify important details in the full Microsoft Learn article.

Documentation change

The comparison below shows only the changed extract. Use the full-page view for complete context.

Plan for resiliency and high availability

SMS and voice authentication sit on the critical path to your applications. When users rely on a phone code for multifactor authentication (MFA) or self-service password reset (SSPR), the availability of that code determines whether they can sign in.

With Choose Your Own Telephony Provider (CYOT), the delivery path includes components your organization owns: the Azure Function in your subscription and your telecomtelephony provider. Design these components for resiliency so authentication stays available through regional outages and provider incidents.

|---|---|---| | Microsoft Entra ID | Microsoft | Generates and validates the code, and sends the request to your endpoint. | | Endpoint and Azure Function | Your organization | Receives the request in your Azure subscription and sends it to your provider. | | TelecomTelephony provider | Your provider | Delivers the SMS message or voice call to the user's phone. |

The guided setup creates one Azure Function in a single region, connected to one telecomtelephony provider. This setup works well for evaluation and many production workloads. To protect against a regional outage or a provider incident, extend it with the options in this article.

|---|---|---| | Single region, one provider (default setup) | Function App instance failures within the region | Evaluation, and production workloads that can tolerate a regional outage | | Multi-region with Azure Front Door | Regional outages | Production workloads that require authentication during a regional disruption | | Secondary telephony provider | Provider-specific incidents | When your primary provider alone doesn't meet your availability or coverage requirements | | Multi-region and secondary provider | Regional outages and provider incidents | Organizations with the highest availability requirements |

Deploy across multiple regions

A multi-region deployment uses Azure Front Door to expose one endpoint backed by Function Apps in two or more regions. Microsoft Entra ID calls the Front Door endpoint, and Front Door routes each request to a healthy region. Set it up manually after you validate a single-region deployment, because the setup script in Set up SMS and voice with your own telephony provider in the Microsoft Entra admin center deploys one region at a time.

When you plan a multi-region deployment:

  • Size each region for the full workload. If one region is unavailable, the remaining regions must handle all authentication traffic.
  • Use the same code, settings, and encryption key in every region, and coordinate certificate renewal across regions.
  • Expect failover to take time. Some requests can fail while Front Door detects an unhealthy region and shifts traffic.
  • Plan for added cost. Each region adds its own Function App plan, storage, Key Vault, and monitoring, plus Front Door. For estimates, see Estimate telephony-provider and Azure hosting costs.
  • Adding regions improves availability, not delivery speed. SMS and voice delivery time depends mostly on your provider and carriers.

For architecture, region and capacity planning, and step-by-step setup, see Azure Front Door multi-region deployment.

Add a secondary telecomtelephony provider

A multi-region deployment still relies on your telecomtelephony provider. Confirm that your provider's availability commitments, redundancy, and disaster recovery meet your requirements in the countries/regions you serve.

If one provider isn't enough, you can implement fallback to a secondary provider in your Azure Function. To avoid sending a user two codes, use the secondary provider only when the primary provider confirms it didn't accept the request. Don't resend after a timeout or unknown result, because the primary provider might already have sent the code.

Evaluation mode doesn't call your provider. Repeat your tests after any change to code, routing, configuration, or your provider integration.

To monitor each region and provider, see Monitor and troubleshoot SMS and voice with your own telephony provider.

Related content

Daily Entra.News

Get daily email updates

Get a concise summary of the latest Microsoft Entra updates delivered straight to your inbox.

Loading the secure signup form…