Microsoft Entra ID
Authentication

Troubleshoot SMS and voice with your own telecom provider

In brief

The documentation explains how to trace Choose Your Own Telephony Provider requests across Microsoft Entra audit logs, sign-in logs, Function App logs, and the telecom provider portal, including relevant fields and queries.

What Entra admins need to know

Administrators can use the procedures to identify where authentication requests fail and provide correlation IDs to the appropriate support team.

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.

new file mode 100644

title: Troubleshoot SMS and voice with your own telecom provider description: Trace CYOT SMS and voice requests with audit logs, sign-in logs, and Function App logs to identify issues and contact the right support team. ms.topic: how-to ms.date: 10/30/2026 ai-usage: ai-assisted ms.custom: msecd-doc-authoring-1012 ms.reviewer: xueca # Customer intent: As an authentication administrator, I want to identify and resolve CYOT authentication, integration, and telecom delivery issues.

Troubleshoot SMS and voice with your own telecom provider

Use this article to trace SMS and voice requests end to end with Choose Your Own Telephony Provider (CYOT), find where a request stopped, and contact the right team to resolve it: Microsoft support, your Azure team, or your telecom provider.

How a CYOT request flows

Each request passes through four stages, and each stage is recorded in its own logs:

StageWhat happensWhere to look
1. Microsoft Entra sends the requestMicrosoft Entra requires an SMS or voice code and sends the request to your endpoint.Microsoft Entra audit logs
2. Your endpoint processes itYour Function App receives the request and sends it to your telecom provider.Function App logs
3. Your provider delivers itYour provider sends the SMS message or voice call to the user's phone.Your provider's portal
4. The user signs inThe user enters the code, and Microsoft Entra completes authentication.Microsoft Entra sign-in logs

Find the request in audit logs

  1. Sign in to the Microsoft Entra admin center as at least a Reports Reader.
  2. Go to Entra ID > Monitoring & health > Audit logs, and select the Directory tab.
  3. Set the Date range, and add these filters: Service: Azure MFA and Category: Authentication.
  4. Leave Activity set to All so you see both successful and failed requests.

:::image type="content" source="media/choose-your-own-telephony-troubleshoot/audit-logs.png" alt-text="Screenshot of Audit logs filtered by Service Azure MFA and Category Authentication, showing CyotDeliverySucceeded and CyotDeliveryFailed activities." lightbox="media/choose-your-own-telephony-troubleshoot/audit-logs.png":::

Select the request to open Audit Log Details, and note these values:

FieldWhat it tells you
Activity TypeCyotDeliverySucceeded means your endpoint accepted the request. CyotDeliveryFailed means it didn't complete.
DeliveryMethodCyot for a live request through your provider. CyotEvaluation for an evaluation request.
ChannelSms or Voice.
AuthenticationMethodThe method used, such as OneWaySms or OneWayVoiceMobileOtp.
Correlation IDThe identifier to share with support.
FailureReasonWhy a failed request didn't complete.

:::image type="content" source="media/choose-your-own-telephony-troubleshoot/audit-log-details.png" alt-text="Screenshot of Audit Log Details for CyotDeliverySucceeded with DeliveryMethod Cyot and Channel Voice." lightbox="media/choose-your-own-telephony-troubleshoot/audit-log-details.png":::

Check sign-in logs

Use sign-in logs to confirm whether the user completed authentication.

  1. Go to Entra ID > Monitoring & health > Sign-in logs.
  2. Find the sign-in by user and time, and open it.
  3. On Authentication Details, review the method, whether the step succeeded, and the result detail.

Sign-in logs show the method as Text message or Voice. To confirm that the request was sent through your provider, use audit logs.

Check Function App logs

Use your Function App logs to see how your endpoint processed the request and what it returned to Microsoft Entra.

  1. In the Azure portal, open the Function App created by setup.

  2. Go to Monitoring > Application Insights, and open the linked Application Insights resource.

  3. Select Logs, and run the following query for the time of the attempt:

    AppRequests
    | where TimeGenerated > ago(1h)
    | where Url has "/api/SendOtp"
    | project TimeGenerated, ResultCode, Success, DurationMs, OperationId
    | order by TimeGenerated desc
    

ResultCode shows what your Function App returned to Microsoft Entra. To see your provider's response for the same request, query AppTraces with its OperationId.

Identify who can help

Use what you see in audit logs to find the right contact.

What you seeWhat to checkContact
No CYOT activity in audit logsConfirm the date range and filters, that the user is included in SMS or voice targeting, and that a new phone challenge was required.Microsoft support
Only CyotEvaluation activityThe profile is in Evaluation. Switch to Production to route traffic through your provider.No support needed
CyotDeliveryFailed with EndpointClientErrorYour endpoint rejected the request. Check your Function App logs and authentication settings.Your Azure team
CyotDeliveryFailed with EndpointServerErrorYour endpoint returned an error or didn't respond in time. Check your Function App logs and your provider's status.Your Azure team
CyotDeliveryFailed with NonceMismatchYour endpoint's response didn't match what Microsoft Entra expects. Compare any customizations with the CYOT sample.Your Azure team
CyotDeliverySucceeded, but the user didn't receive the codeYour endpoint accepted the request. Check your provider's delivery records.Your telecom provider
The user received the code, but sign-in failedCheck the sign-in logs for an expired, reused, or incorrect code.Microsoft support
Delivery blocked to certain countries/regions, fraud blocks, or unexpected chargesReview your provider's fraud, destination, and spending controls.Your telecom provider

Contact support

ContactCoversHow to reach
Microsoft supportAuthentication method policy, Microsoft Entra authentication, and the request to your endpointGet support for Microsoft Entra
Your Azure teamYour Function App, its configuration, and Azure resourcesInternal. For Azure platform issues, contact Azure support.
Your telecom providerProvider account, delivery, fraud controls, and usage chargesSupport details in the provider's Microsoft Security Store listing

Information to include

  • Tenant ID, channel (SMS or voice), and the UTC time of the attempt.
  • The audit log Correlation ID, DeliveryMethod, and FailureReason.
  • Your provider's transaction ID, if available.
  • Any recent configuration changes.

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…