Problembehandlung in Azure Communication Services
Dieses Dokument hilft Ihnen bei der Behandlung von Problemen, die möglicherweise in Ihrer Communication Services-Lösung auftreten. Bei der Behandlung von Problemen mit SMS können Sie Übermittlungsberichte mit Event Grid aktivieren, um SMS-Übermittlungsdetails zu erfassen.
Hilfe
Wir empfehlen Entwicklern, Fragen zu stellen, Features vorzuschlagen und Probleme als Issues zu melden. Weitere Informationen finden Sie auf der dedizierten Seite für Support- und Hilfeoptionen.
Zur Behandlung bestimmter Probleme benötigen Sie möglicherweise eine oder mehrere der folgenden Angaben:
- MS-CV-ID: Problembehandlung von Anrufen und Nachrichten.
- Anruf-ID: Identifizieren von Communication Services-Anrufen.
- SMS-Nachrichten-ID: Identifizieren von SMS-Nachrichten.
- Kurzcode-Programm-ID: Identifizieren einer Kurzcode-Programm-Anwendung.
- Kurz-ID der Kampagne für die gebührenfreie Telefonnummernüberprüfung: Identifizieren einer Kurzanwendung einer Kampagne für die gebührenfreie Telefonnummernüberprüfung.
- ID der E-Mail-Nachricht: Identifizieren von Anforderungen zum Senden einer E-Mail.
- Korrelations-ID: Identifizieren von Anforderungen, die mithilfe der Anrufautomatisierung vorgenommen wurden.
- Anrufprotokolle: Enthalten ausführliche Informationen, die zur Behandlung von Anruf- und Netzwerkproblemen verwendet werden können.
Weitere Informationen zu Drosselung und Einschränkungen finden Sie unter Diensteinschränkungen.
Zugreifen auf Ihre MS-CV-ID
Sie können auf die MS-CV-ID zugreifen, indem Sie die Diagnose in der clientOptions
-Objektinstanz konfigurieren, wenn Sie Ihre SDKs initialisieren. Sie können die Diagnose für jedes Azure-SDK konfigurieren, einschließlich Chat, Identität und VoIP-Anrufe.
Beispiel für Clientoptionen
Die folgenden Codeausschnitte veranschaulichen die Diagnosekonfiguration. Wenn Sie die Diagnose für SDKs aktivieren, können Diagnosedetails an den konfigurierten Ereignislistener ausgegeben werden:
// 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) });
Für die Anrufautomatisierung erforderliche Zugriffs-IDs
Wenn Sie Probleme mit dem SDK für die Anrufautomatisierung (Call Automation) behandeln, z. B. Anrufverwaltungs- oder Aufzeichnungsprobleme, müssen Sie die IDs erfassen, mit denen der fehlerhafte Anruf oder Vorgang identifiziert werden kann. Sie können eine der beiden folgenden IDs angeben.
Suchen Sie im Header der API-Antwort nach dem Feld
X-Ms-Skype-Chain-Id
.Aus den Rückrufereignissen, die Ihre Anwendung nach dem Ausführen einer Aktion empfängt.
CallConnected
oderPlayFailed
finden beispielsweise die correlationID.
Zusätzlich zu einer dieser IDs müssen Sie Details zum fehlerhaften Anwendungsfall und den Zeitstempel des Zeitpunkts angeben, an dem der Fehler aufgetreten ist.
Zugreifen auf Ihre Clientaufruf-ID
Bei der Problembehandlung von Sprach- oder Videoanrufen müssen Sie möglicherweise eine call ID
angeben. Sie können über die id
-Eigenschaft des call
-Objekts auf diesen Wert zugreifen:
// `call` is an instance of a call created by `callAgent.startCall` or `callAgent.join` methods
console.log(call.id)
Zugreifen auf Ihre SMS-Nachrichten-ID
Bei SMS-Problemen können Sie die Nachrichten-ID aus dem Antwortobjekt erfassen.
// 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
}
Greifen Sie auf ihre kurze Codeprogramm-ID zu.
Die Kurzprogramm-ID finden Sie im Azure-Portal im Abschnitt „Kurzcodes“.
Greifen Sie auf Ihre Kurz-ID der Kampagne für die gebührenfreie Telefonnummerüberprüfung zu
Die Kurzprogramm-ID finden Sie im Azure-Portal im Abschnitt „Regulatorische Dokumente“.
Zugreifen auf Ihre E-Mail-Vorgangs-ID
Bei der Problembehandlung von Anforderungen zum Senden von E-Mails oder Anforderungen des Status der E-Mail-Nachrichten müssen Sie möglicherweise eine operation ID
angeben. Sie können in der Antwort auf diesen Wert zugreifen:
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}");
Zugreifen auf Supportdateien im Calling SDK
Das Calling-SDK bietet einfache Methoden, um auf die Protokolldateien zuzugreifen. Diese Dateien können für Microsoft-Supportspezialisten und Techniker nützlich sein. Es wird empfohlen, diese Protokolle zu sammeln, wenn Sie ein Problem feststellen.
Aktivieren von und Zugreifen auf Anrufprotokolle
[JavaScript]
Das Azure Communication Services Calling SDK basiert intern auf der Bibliothek @azure/logger, um die Protokollierung zu steuern.
Verwenden Sie die Methode setLogLevel
aus dem Paket @azure/logger
, um die Protokollausgabenebene zu konfigurieren. Erstellen Sie einen Logger, und übergeben Sie ihn folgendermaßen an den CallClient
-Konstruktor:
import { setLogLevel, createClientLogger, AzureLogger } from '@azure/logger';
setLogLevel('verbose');
let logger = createClientLogger('ACS');
const callClient = new CallClient({ logger });
Sie können AzureLogger verwenden, um die Protokollierungsausgabe von Azure-SDKs umzuleiten, indem Sie die AzureLogger.log
-Methode außer Kraft setzen:
Sie können Daten in der Browserkonsole, einer Datei oder einem Puffer protokollieren oder an unseren eigenen Dienst senden usw. Wenn Sie Protokolle über das Netzwerk an Ihren eigenen Dienst senden möchten, sollten Sie keine Anforderung pro Protokollzeile senden, da sich dies negativ auf die Browserleistung auswirkt. Sammeln Sie stattdessen Protokollzeilen und senden Sie sie in Batches.
// Redirect log output
AzureLogger.log = (...args) => {
// To console, file, buffer, REST API, etc...
console.log(...args);
};
Native SDK (Android/iOS)
Für Android, iOS und Windows bietet das Azure Communication Services Calling-SDK Zugriff auf Protokolldateien.
Informationen zum Aufrufen von nativen SDKs finden Sie in den Tutorials für den Zugriff auf Protokolldateien.
UI-Bibliotheken (Android, iOS)
Wenn Sie die Benutzeroberflächenbibliotheken für Azure Communication Services für Android oder iOS verwenden, können Sie Benutzerfeedback über das integrierte Supportformular anfordern.
Weitere Informationen zur Verwendung der Unterstützungsfunktionen im Supportformular der Anrufbenutzeroberfläche finden Sie im Tutorial zur Integration von Supportformularen. Dieses Dokument führt Sie durch das Hinzufügen des erforderlichen Ereignishandlers und das Erstellen einer grundlegenden Client-/Serverimplementierung für die zentrale Speicherung von Supportinformationen. In diesem Leitfaden wird der Pfad für die Integration mit den Supportdiensten beschrieben, die von Ihrer Organisation verwendet werden.
Erstellen von End-to-End-Support Flows in Ihren ACS Integrations
Ganz gleich, ob Sie das Calling-SDK oder das Calling-UI-SDK verwenden: eine wichtige Komponente für jede robuste Integration ist die Unterstützung von Kunden. Im folgenden Dokument werden die wichtigsten Überlegungen an jedem Punkt der Feedbackschleife des Supports hervorgehoben und es werden Ausgangspunkte bereitgestellt, um mehr zu erfahren.
Bereitstellen von Unterstützung für Benutzer
Suchen von Microsoft Entra-Informationen
- Abrufen der Verzeichnis-ID
- Abrufen der Anwendungs-ID
- Abrufen der Benutzer-ID
Abrufen der Verzeichnis-ID
Führen Sie die folgenden Schritte aus, um Ihre Verzeichnis (Mandanten)-ID zu finden:
Navigieren Sie zu Azure-Portal und melden Sie sich im Azure-Portal mit den Anmeldeinformationen an.
Wählen Sie im linken Bereich Microsoft Entra ID.
Kopieren Sie auf der Seite Übersicht in Microsoft Entra ID die Verzeichnis (Mandanten)-ID und speichern Sie sie in Ihrem Anwendungscode.
Abrufen der Anwendungs-ID
Führen Sie die folgenden Schritte aus, um Ihre Anwendungs-ID zu finden:
Navigieren Sie zu Azure-Portal und melden Sie sich im Azure-Portal mit den Anmeldeinformationen an.
Wählen Sie im linken Bereich Microsoft Entra ID.
Wählen Sie in App-Registrierungen in Microsoft Entra ID Ihre Anwendung aus.
Kopieren Sie die Anwendungs-ID, und speichern Sie sie in Ihrem Anwendungscode.
Die Verzeichnis-ID (Mandanten-ID) finden Sie auch auf der Übersichtsseite der Anwendung.
Abrufen der Benutzer-ID
Führen Sie die folgenden Schritte aus, um Ihre Benutzer-ID zu finden:
Navigieren Sie zu Azure-Portal und melden Sie sich im Azure-Portal mit den Anmeldeinformationen an.
Wählen Sie im linken Bereich Microsoft Entra ID.
Wählen Sie in Benutzer in Microsoft Entra ID Ihren Benutzer aus.
Kopieren Sie auf der Seite Profil unter Microsoft Entra-Benutzer die Objekt-ID und speichern Sie sie in Ihrem Anwendungscode.
Abrufen der unveränderlichen Ressourcen-ID
Manchmal müssen Sie die unveränderliche Ressourcen-ID Ihrer Communication Services-Ressource bereitstellen. So können Sie sie finden:
- Navigieren Sie zu Azure-Portal und melden Sie sich im Azure-Portal mit den Anmeldeinformationen an.
- Öffnen Sie Ihre Communication Services-Ressource.
- Wählen Sie im linken Bereich Übersicht aus und wechseln Sie zu einer JSON-Ansicht
- Kopieren Sie den Wert von
immutableResourceId
auf der Seite Ressourcen-JSON, und übermitteln Sie ihn an Ihr Supportteam an.
Überprüfung der Teams-Lizenzberechtigung für die Nutzung des Azure Communication Services-Supports für Teams-Benutzer
Es gibt zwei Möglichkeiten, Ihre Teams-Lizenzberechtigung für die Nutzung des Azure Communication Services-Supports für Teams-Benutzer zu überprüfen:
- Überprüfung über den Teams-Webclient
- Überprüfung Ihrer aktuellen Teams-Lizenz über die Microsoft Graph-API
Überprüfung über den Teams-Webclient
Führen Sie diese Schritte aus, um die Berechtigung Ihrer Teams-Lizenz über den Microsoft Teams-Webclient zu überprüfen:
- Öffnen Sie einen Browser, und navigieren Sie zum Teams-Webclient.
- Melden Sie sich mit Anmeldeinformationen an, die über eine gültige Teams-Lizenz verfügen.
- Wenn die Authentifizierung erfolgreich ist und Sie in der https://teams.microsoft.com/-Domäne bleiben, ist Ihre Teams-Lizenz berechtigt. Wenn bei der Authentifizierung ein Fehler auftritt oder Sie zur https://teams.live.com/v2/-Domäne umgeleitet werden, ist Ihre Teams-Lizenz nicht dazu berechtigt, den Azure Communication Services-Support für Teams-Benutzer zu nutzen.
Überprüfung Ihrer aktuellen Teams-Lizenz über die Microsoft Graph-API
Sie können Ihre aktuelle Teams-Lizenz mithilfe der Microsoft Graph-API licenseDetails finden, welche die einem Benutzer zugewiesenen Lizenzen zurückgibt. Führen Sie diese Schritte aus, um das Graph-Explorer-Tool zum Anzeigen von Lizenzen zu verwenden, die einem Benutzer zugewiesen sind:
Öffnen Sie einen Browser, und navigieren Sie zu Graph-Explorer.
Melden Sie sich mit den gewünschten Anmeldeinformationen beim Graph-Explorer an.
Geben Sie im Abfragefeld die folgende API ein, und klicken Sie auf Abfrage ausführen:
https://graph.microsoft.com/v1.0/me/licenseDetails
Sie können auch eine Abfrage für einen bestimmten Benutzer ausführen, indem Sie die Benutzer-ID über die folgende API bereitstellen:
https://graph.microsoft.com/v1.0/users/{id}/licenseDetails
Der Bereich Antwortvorschau zeigt eine Ausgabe wie die folgende an:
Das hier gezeigte Antwortobjekt kann zur besseren Lesbarkeit gekürzt sein.
{ "@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" } ] } ] }
Suchen Sie nach den Lizenzdetails, in denen die Eigenschaft
servicePlanName
einen der Werte in der Tabelle „Berechtigte Teams-Lizenzen“ enthält.
Verwandte Artikel
- Behandeln von PSTN-Anrufproblemen in Azure Communication Services.
- Problembehandlung für Antwortcodes am Anrufende für Calling-SDK, Call Automation-SDK, PSTN, Chat-SDK und SMS-SDK.
- Zugriffsprotokolle für Sprache und Video, Chat, E-Mail, Netzwerk, Aufzeichnung, SMS und Anrufautomatisierung.
- Metriken:
- Diensteinschränkungen.