Partager via


Résolution des problèmes dans Azure Communication Services

Ce document vous aide à résoudre les problèmes que vous pouvez rencontrer dans votre solution Communication Services. Si vous voulez résoudre des problèmes liés aux SMS, vous pouvez activer la création de rapports de remise avec Event Grid pour capturer les détails de remise de SMS.

Obtenir de l'aide

Nous encourageons les développeurs à poser des questions, à suggérer des fonctionnalités et à signaler des problèmes. Pour plus d’informations, consultez la page des options de support et d’aide dédiées.

Pour vous aider à résoudre certains problèmes, vous aurez peut-être besoin des informations suivantes :

  • ID MS-CV : pour dépanner les appels et les messages.
  • ID d’appel : identifie les appels Communication Services.
  • ID de SMS : identifie les SMS.
  • ID de résumé de programme de numérotation courte : identifie une application de résumé de programme de code court.
  • ID de résumé de campagne de vérification de numéro gratuit : identifie une application de résumé de campagne de vérification de numéro gratuit.
  • ID d’e-mail : identifie les demandes d’envoi d’e-mail.
  • ID de corrélation : identifie les demandes effectuées à l’aide de l’automatisation des appels.
  • Journaux des appels : contiennent des informations détaillées pouvant servir à résoudre les problèmes d’appel et de réseau.

Pour plus d’informations sur la limitation et les limites, consultez Limites du service.

Accéder à votre ID MS-CV

Vous pouvez accéder à l’ID MS-CV en configurant les diagnostics dans l’instance d’objet clientOptions lors de l’initialisation de vos Kits de développement logiciel (SDK). Vous pouvez configurer des diagnostics pour n’importe quel Kit de développement logiciel (SDK) Azure, notamment Chat, Identity et VoIP calling.

Exemple d’options client

Les extraits de code suivants illustrent la configuration des diagnostics. Lorsque vous activez les diagnostics pour les Kits de développement logiciel (SDK), les détails des diagnostics peuvent être émis sur le détecteur d’événements configuré :

// 1. Import Azure.Core.Diagnostics
using Azure.Core.Diagnostics;

// 2. Initialize an event source listener instance
using var listener = AzureEventSourceListener.CreateConsoleLogger();
Uri endpoint = new Uri("https://<RESOURCE-NAME>.communication.azure.net");
var (token, communicationUser) = await GetCommunicationUserAndToken();
CommunicationUserCredential communicationUserCredential = new CommunicationUserCredential(token);

// 3. Setup diagnostic settings
var clientOptions = new ChatClientOptions()
{
    Diagnostics =
    {
        LoggedHeaderNames = { "*" },
        LoggedQueryParameters = { "*" },
        IsLoggingContentEnabled = true,
    }
};

// 4. Initialize the ChatClient instance with the clientOptions
ChatClient chatClient = new ChatClient(endpoint, communicationUserCredential, clientOptions);
ChatThreadClient chatThreadClient = await chatClient.CreateChatThreadAsync("Thread Topic", new[] { new ChatThreadMember(communicationUser) });

ID d’accès requis pour Call Automation

Quand vous résolvez des problèmes avec le Kit de développement logiciel (SDK) Call Automation, comme les problèmes de gestion ou d’enregistrement des appels, vous devez collecter les ID qui vous aident à identifier l’appel ou l’opération en échec. Vous pouvez fournir l’un des deux ID suivants.

  • Dans l’en-tête de la réponse de l’API, recherchez le champ X-Ms-Skype-Chain-Id.

    Capture d’écran de l’en-tête de réponse montrant X-Ms-Skype-Chain-Id.

  • À partir des événements de rappel que votre application reçoit après l’exécution d’une action. Par exemple, CallConnected ou PlayFailed, recherchez l’ID de corrélation.

    Capture d’écran de l’événement d’appel déconnecté montrant l’ID de corrélation.

En plus de l’un de ces ID, vous devez fournir des détails sur le cas d’utilisation défaillant et l’horodatage de l’échec.

Accéder à votre ID d’appel client

Lors de la résolution de problèmes d’appels vocaux ou vidéo, vous pouvez être invité à fournir un call ID. Accédez à cette valeur via la propriété id de l’objet call :

// `call` is an instance of a call created by `callAgent.startCall` or `callAgent.join` methods
console.log(call.id)

Accéder à votre ID de message SMS

Pour les problèmes liés aux SMS, vous pouvez recueillir l’ID de message à partir de l’objet de réponse.

// Instantiate the SMS client
const smsClient = new SmsClient(connectionString);
async function main() {
  const result = await smsClient.send({
    from: "+18445792722",
    to: ["+1972xxxxxxx"],
    message: "Hello World 👋🏻 via Sms"
  }, {
    enableDeliveryReport: true // Optional parameter
  });
console.log(result); // your message ID is in the result
}

Accéder à votre ID de résumé de programme de numérotation courte

Recherchez l’ID du programme sur le Portail Azure dans la section Codes courts.

Capture d’écran montrant un ID de résumé de programme de numérotation courte.


Accéder à votre ID de dossier de campagne de vérification de numéro gratuit

Recherchez l’ID de résumé de programme sur le Portail Azure, dans le panneau Documentation réglementaire.

Capture d’écran montrant un ID de dossier de campagne de vérification de numéro gratuit.


Accéder à votre ID d’opération de messagerie

Quand vous résolvez des problèmes liés à l’envoi d’e-mail ou aux demandes d’état d’e-mail, vous pouvez être invité à fournir un operation ID. Vous pouvez accéder à cette valeur dans la réponse :

var emailSendOperation = await emailClient.SendAsync(
    wait: WaitUntil.Completed,
    senderAddress: sender,
    recipientAddress: recipient,
    subject: subject,
    htmlContent: htmlContent);

/// Get the OperationId so that it can be used for tracking the message for troubleshooting
Console.WriteLine($"Email operation id = {emailSendOperation.Id}");

Accès aux fichiers de support dans le SDK Calling

Le Kit de développement logiciel (SDK) Calling fournit des méthodes pratiques pour accéder aux fichiers journaux. Ces fichiers peuvent être précieux pour les spécialistes et les ingénieurs de support Microsoft. Nous vous recommandons de collecter ces journaux lorsque vous détectez un problème.

Activer les journaux d’appel et y accéder

[JavaScript]

Le Kit de développement logiciel (SDK) Appel d’Azure Communication Services s’appuie en interne sur la bibliothèque @azure/logger pour contrôler la journalisation.

Utilisez la méthode setLogLevel du package @azure/logger pour configurer le niveau de sortie du journal. Créez un enregistreur d’événements et transmettez-le au constructeur CallClient :

import { setLogLevel, createClientLogger, AzureLogger } from '@azure/logger';
setLogLevel('verbose');
let logger = createClientLogger('ACS');
const callClient = new CallClient({ logger });

Vous pouvez utiliser AzureLogger pour rediriger la sortie de journalisation à partir des Kits de développement logiciel (SDK) Azure en remplaçant la méthode AzureLogger.log :

Vous pouvez vous connecter à la console du navigateur, à un fichier ou à une mémoire tampon, ou envoyer vers notre propre service, etc. Si vous souhaitez envoyer des journaux sur le réseau à votre propre service, n’envoyez pas de requête par ligne de journal, car cela affecte les performances du navigateur. À la place, regroupez les lignes des journaux et envoyez-les par lots.

// Redirect log output
AzureLogger.log = (...args) => {
    // To console, file, buffer, REST API, etc...
    console.log(...args); 
};

SDK natif (Android/iOS)

Pour Android, iOS et Windows, le Kit de développement logiciel (SDK) Calling Azure Communication Services offre l’accès aux fichiers journaux.

Pour les Kits de développement logiciel (SDK) natifs Calling, consultez les Tutoriels d’accès aux fichiers journaux

Bibliothèques d’interface utilisateur (Android, iOS)

Si vous utilisez les bibliothèques d’interface utilisateur Azure Communication Services pour Android ou iOS, vous pouvez solliciter des commentaires utilisateur via le formulaire de support intégré.

Pour plus d’informations sur les fonctionnalités de support du formulaire de support de Calling UI, consultez le Tutoriel d’intégration du formulaire de support. Ce document vous montre comment ajouter le gestionnaire d’événements nécessaire et comment créer une implémentation de client/serveur de base pour centraliser le stockage des informations de support. Ce guide décrit le chemin d’intégration aux services de support utilisés par votre organisation.

Génération de flux de support de bout en bout dans vos intégrations ACS

Que vous utilisiez le Kit de développement logiciel (SDK) Calling ou le Kit de développement logiciel (SDK) Calling UI, le support offert à vos clients est un composant clé d’une intégration robuste. Le document suivant met en évidence les principales considérations à chaque point de la boucle de commentaires du support et fournit des points de départ pour en savoir plus.

Offre de support utilisateur


Rechercher les informations Microsoft Entra

  • Obtention de l’ID de répertoire
  • Obtention de l’ID d’application
  • Obtention de l’identifiant utilisateur

Obtention de l’ID de répertoire

Pour rechercher votre ID d’annuaire (locataire), suivez ces étapes :

  1. Accédez à portail Azure et connectez-vous au portail Azure à l’aide des informations d’identification.

  2. Dans le volet de gauche, sélectionnez Microsoft Entra ID.

  3. Dans la page Vue d’ensemble de Microsoft Entra ID, copiez l’ID d’annuaire (locataire) et stockez-le dans le code de votre application.

    Capture d’écran montrant comment copier (et stocker) un ID du locataire Microsoft Entra.

Obtention de l’ID d’application

Pour rechercher votre ID d’application, suivez ces étapes :

  1. Accédez à portail Azure et connectez-vous au portail Azure à l’aide des informations d’identification.

  2. Dans le volet de gauche, sélectionnez Microsoft Entra ID.

  3. Sous Inscriptions d’applications dans Microsoft Entra ID, sélectionnez votre application.

  4. Copiez l’ID d’application et stockez-le dans votre code d’application.

    Capture d’écran montrant comment copier (et stocker) un ID d’application Microsoft Entra.

    L’ID de répertoire (locataire) est également accessible dans la page de présentation de l’application.

Obtention de l’identifiant utilisateur

Pour rechercher votre ID utilisateur, suivez ces étapes :

  1. Accédez à portail Azure et connectez-vous au portail Azure à l’aide des informations d’identification.

  2. Dans le volet de gauche, sélectionnez Microsoft Entra ID.

  3. Sous Utilisateurs dans Microsoft Entra ID, sélectionnez votre utilisateur.

  4. Dans la page Profil des utilisateurs Microsoft Entra, copiez l’ID d’objet et stockez-le dans le code de votre application.

    Capture d’écran montrant comment copier (et stocker) un ID d’utilisateur Microsoft Entra.

Obtention d’un ID de ressource immuable

Parfois, vous devez également fournir l’ID de ressource immuable de votre ressource Communication Service. Suivez ces étapes pour le rechercher :

  1. Accédez à portail Azure et connectez-vous au portail Azure à l’aide des informations d’identification.
  2. Ouvrez votre ressource Communication Services.
  3. Dans le volet gauche, sélectionnez Vue d’ensemble et basculez vers une vue JSONCapture d’écran montrant comment basculer la vue d’ensemble de la ressource de communication vers une vue JSON.
  4. À partir de la page JSON de ressource, copiez la valeur immutableResourceId et fournissez-la à votre équipe de support technique. Capture d’écran du JSON de ressource.

Vérification de l’éligibilité de la licence Teams au support Azure Communication Services pour les utilisateurs de Teams

Il existe deux façons de vérifier l’éligibilité de votre licence Teams au support Azure Communication Services pour les utilisateurs de Teams :

  • Vérification via le client web Teams
  • Vérification de votre licence Teams actuelle via l’API Microsoft Graph

Vérification via le client web Teams

Pour vérifier l’éligibilité de votre licence Teams avec le client web Teams, suivez ces étapes :

  1. Ouvrez votre navigateur et accédez au client web Teams.
  2. Connectez-vous avec des informations d’identification correspondant à une licence Teams valide.
  3. Si l’authentification réussit et que vous restez dans le domaine https://teams.microsoft.com/, cela signifie que votre licence Teams est éligible. Si l’authentification échoue ou si vous êtes redirigé vers le domaine https://teams.live.com/v2/, cela signifie que votre licence Teams n’est pas éligible pour bénéficier du support Azure Communication Services pour utilisateurs de Teams.

Vérification de votre licence Teams actuelle via l’API Microsoft Graph

Vous pouvez rechercher votre licence Teams actuelle en utilisant l’API Microsoft Graph licenseDetails qui renvoie les licences attribuées à un utilisateur. Suivez ces étapes pour utiliser l’outil Afficheur Graph afin de voir les licences attribuées à un utilisateur :

  1. Ouvrez votre navigateur et accédez à l’Afficheur Graph.

  2. Connectez-vous à l’Afficheur Graph en utilisant les informations d’identification. Capture d’écran montrant comment se connecter à l’Afficheur Graph.

  3. Dans la zone de requête, entrez l’API suivante, puis cliquez sur Exécuter la requête :

    https://graph.microsoft.com/v1.0/me/licenseDetails
    

    Capture d’écran montrant comment entrer l’API dans l’Afficheur Graph.

    Vous pouvez également effectuer une requête sur un utilisateur particulier en fournissant l’ID utilisateur à l’aide de l’API suivante :

    https://graph.microsoft.com/v1.0/users/{id}/licenseDetails
    
  4. Le volet Aperçu de la réponse affiche la sortie comme suit :

    L’objet de réponse illustré ici peut être abrégé pour une meilleure lisibilité.

    {
        "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#users('071cc716-8147-4397-a5ba-b2105951cc0b')/assignedLicenses",
        "value": [
            {
                "skuId": "b05e124f-c7cc-45a0-a6aa-8cf78c946968",
                "servicePlans":[
                    {
                        "servicePlanId":"57ff2da0-773e-42df-b2af-ffb7a2317929",
                        "servicePlanName":"TEAMS1",
                        "provisioningStatus":"Success",
                        "appliesTo":"User"
                    }
                ]
            }
        ]
    }
    
  5. Recherchez des détails de licence où la propriété servicePlanName contient l’une des valeurs de la table Licences Teams éligibles.