Partager via


Journaux de Call Automation pour Azure Communication Services

Azure Communication Services offre des fonctionnalités de journalisation que vous pouvez utiliser pour superviser et déboguer votre solution Communication Services. Vous pouvez configurer ces fonctionnalités dans le portail Azure.

Prérequis

Azure Communication Services fournit des fonctionnalités de supervision et d’analytique via les journaux Azure Monitor et les métriques Azure Monitor. Chaque ressource Azure requiert son propre paramètre de diagnostic, qui définit les critères suivants :

  • Catégories de données de journal et de métrique envoyées aux destinations que le paramètre définit. Les catégories disponibles varient selon le type de ressource.

  • Une ou plusieurs destinations auxquelles envoyer les journaux. Les destinations actuelles sont l’espace de travail Log Analytics, Azure Event Hubs et le Stockage Azure.

    Un seul paramètre de diagnostic ne peut pas définir plus d’un type de destination. Si vous souhaitez envoyer des données à plus d’un type de destination (par exemple, deux espaces de travail Log Analytics), créez plusieurs paramètres. Chaque ressource peut avoir jusqu’à cinq paramètres de diagnostic.

Important

L'activation d'un paramètre de diagnostic dans Azure Monitor est nécessaire pour envoyer les données de journal de vos enquêtes à un espace de travail Log Analytics, à un Event Hub ou encore à un compte de stockage Azure afin de recevoir et d'analyser les données de vos enquêtes. Si vous n’envoyez pas de données Call Automation à l’une de ces options, vos données d’enquête ne seront pas stockées et seront perdues.

Les instructions suivantes configurent votre ressource Azure Monitor pour commencer à créer des journaux et des métriques pour votre instance Communication Services. Pour obtenir une documentation détaillée sur l’utilisation des paramètres de diagnostic pour toutes les ressources Azure, consultez Activer la journalisation dans les paramètres de diagnostic.

Sous le nom du paramètre de diagnostic, sélectionnez Journaux d’automatisation des appels d’opération et Journaux de résumé des événements d’automatisation des appels pour activer les journaux pour Call Automation.

Capture d’écran des paramètres de diagnostic pour Call Automation.

Catégories de journaux de ressources

Communication Services propose les types de journaux suivants que vous pouvez activer :

  • Journaux d’utilisation : Ils fournissent des données d’utilisation associées à chaque offre de service facturée.
  • Journaux opérationnels d’automatisation des appels : fournissez des informations opérationnelles sur les demandes d’API de Call Automation. Vous pouvez utiliser ces journaux pour identifier les points d’échec et interroger toutes les requêtes effectuées dans un appel (à l’aide de l’ID de corrélation ou de l’ID d’appel du serveur).
  • Journaux de synthèse multimédia Call Automation : fournissez des informations sur le résultat des opérations multimédias. Ces journaux vous sont fournis de manière asynchrone lorsque vous effectuez des requêtes médias à l’aide des API de Call Automation. Vous pouvez utiliser ces journaux pour identifier les points d’échec et les modèles possibles sur la façon dont les utilisateurs interagissent avec votre application.

Schéma du journal d’utilisation

Propriété Description
Timestamp Horodatage (UTC) de la génération du journal.
OperationName Opération associée à l’enregistrement de journal.
OperationVersion Valeur api-version associée à l’opération, si l’opération OperationName a été effectuée via une API. Si aucune API ne correspond à cette opération, la version représente la version de l’opération si les propriétés associées à l’opération viennent à changer.
Category Catégorie de journal de l’événement. La catégorie est la précision avec laquelle vous pouvez activer ou désactiver les journaux sur une ressource. Les propriétés qui apparaissent dans le blob properties d’un événement sont les mêmes au sein d’une catégorie de journal et d’un type de ressource.
CorrelationID ID des événements corrélés. Vous pouvez l’utiliser pour identifier les événements corrélés entre plusieurs tables.
Properties Autres données qui sont applicables aux différents modes de Communication Services.
RecordID ID unique d’un enregistrement d’utilisation.
UsageType Mode d’utilisation (par exemple, Conversation, RTC ou NAT).
UnitType Type d’unité sur lequel l’utilisation est basée pour un mode d’utilisation (par exemple, minutes, mégaoctets ou messages).
Quantity Nombre d’unités utilisées ou consommées pour cet enregistrement.

Journaux opérationnels de Call Automation

Propriété Description
TimeGenerated Horodatage (UTC) de la génération du journal.
OperationName Opération associée à l’enregistrement de journal.
CorrelationID Identificateur permettant d’identifier un appel et de mettre en corrélation les événements d’un appel unique.
OperationVersion Version api-version associée à l’opération, si l’opération operationName a été effectuée via une API. Si aucune API ne correspond à cette opération, la version représente la version de l’opération si les propriétés associées à l’opération viennent à changer.
Category Catégorie de journal de l’événement. La catégorie est la précision avec laquelle vous pouvez activer ou désactiver les journaux sur une ressource. Les propriétés qui apparaissent dans le blob properties d’un événement sont les mêmes au sein d’une catégorie de journal et d’un type de ressource.
ResultType État de l'opération.
ResultSignature Le sous-état de l’opération. Si cette opération correspond à un appel d’API REST, ce champ est le code d’état HTTP de l’appel REST correspondant.
DurationMs Durée de l’opération en millisecondes.
CallerIpAddress L’adresse IP de l’appelant, si l’opération correspond à un appel API provenant d’une entité dont l’adresse IP est disponible publiquement.
Level Niveau de gravité de l’événement.
URI URI de la requête.
CallConnectionId ID qui représente la connexion d’appel, le cas échéant. Cet ID est différent pour chaque participant et est utilisé pour identifier sa connexion à l’appel.
ServerCallId ID unique permettant d’identifier un appel.
SDKVersion Version du Kit de développement logiciel (SDK) utilisée pour la requête.
SDKType Type de SDK utilisé pour la requête.
SubOperationName Nom utilisé pour identifier le sous-type d’opération média (lecture ou reconnaissance).
operationID ID utilisé pour mettre en corrélation les événements asynchrones.

Voici un exemple de journal opérationnel de Call Automation :

[
{
"TimeGenerated [UTC]": "5/25/2023, 5:43:25.746 PM",
"Level": "Informational",
"CorrelationId": "aaaa0000-bb11-2222-33cc-444444dddddd",
"OperationName": "Play",
"OperationVersion": "3/6/23",
"URI": "ccts-media-synthetics-prod.communication.azure.com",
"ResultType": "Succeeded",
"ResultSignature": "202",
"DurationMs": "82",
"CallerIpAddress": "40.88.50.228",
"CallConnectionId": "401f3500-fcb6-4b84-927e-81cd6372560b",
"ServerCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LXVzZWEyLTAxLmNvbnYuc2t5cGUuY29tL2NvbnYvZzRoWlVoS1ZEVUtma19HenRDZ1JTQT9pPTEyJmU9NjM4MjA1NDc4MDg5MzEzMjIz",
"SdkVersion": "",
"SdkType": "unknown",
"SubOperationName": "File",
"OperationId": "5fab0875-3211-4879-8051-c688d0854c4d",
}

Journaux récapitulatifs des multimédias de Call Automation

Propriété Description
TimeGenerated Horodatage (UTC) de l’événement.
level Niveau de gravité de l’événement. Il doit être Informational, Warning, Errorou Critical. 
resourceId ID de la ressource qui a émis l’événement.
durationMs Durée de l’opération en millisecondes.
callerIpAddress
correlationId ID de chaîne Skype. 
operationName Nom de l’opération représentée par cet événement.
operationVersion
resultType Le statut de l’événement. Les valeurs standard sont Completed, Canceled et Failed.
resultSignature Le sous-état de l’opération. Si cette opération correspond à un appel d’API REST, ce champ est le code d’état HTTP de l’appel REST correspondant.
operationId ID d’opération utilisé pour mettre en corrélation les événements asynchrones.
recognizePromptSubOperationName Sous-type de l’opération. Les valeurs acceptées incluent File, TextToSpeech et SSML.
playInLoop True si la boucle a été demandée pour l’opération de lecture. False dans le cas contraire.
playToParticipant True si l’opération de jeu avait une cible. False s’il s’agissait d’une opération de jeu à tous.
interrupted True si l’invite est interrompue. False dans le cas contraire.
resultCode Code de résultat de l’opération.
resultSubcode Sous-code de résultat de l’opération.
resultMessage Message de résultat de l’opération.

Voici un exemple de journal récapitulatif multimédia pour Call Automation :

[
{
"TimeGenerated [UTC]": "5/24/2023, 7:57:40.480 PM",
"Level": "Informational",
"CorrelationId": "bbbb1111-cc22-3333-44dd-555555eeeeee",
"ResultType": "Completed",
"OperationName": "Play",
"OperationId": "7bef24d5-eb95-4ee6-bbab-0b7d45d91288",
"PlayInLoop": "FALSE",
"PlayToParticipant": "TRUE",
"PlayInterrupted": "FALSE",
"RecognizePromptSubOperationName": "",
"ResultCode": "200",
"ResultSubcode": "0",
"ResultMessage": "Action completed successfully."
}

Étapes suivantes