Rozwiązywanie problemów w usługach Azure Communication Services
Ten artykuł ułatwia rozwiązywanie problemów, które mogą wystąpić w rozwiązaniu usług Azure Communication Services. Jeśli rozwiązujesz problemy z wiadomością SMS, możesz włączyć raportowanie dostarczania za pomocą usługi Azure Event Grid , aby przechwycić szczegóły dostarczania wiadomości SMS.
Uzyskaj pomoc
Zachęcamy deweloperów do przesyłania pytań, sugerowania funkcji i zgłaszania problemów jako problemów. Aby uzyskać więcej informacji, zobacz dedykowaną stronę pomocy technicznej i opcji pomocy.
Aby ułatwić rozwiązywanie niektórych problemów, może być konieczne wykonanie co najmniej jednej z następujących informacji:
- Identyfikator MS-CV: Rozwiązywanie problemów z wywołaniami i komunikatami.
- Identyfikator połączenia: identyfikowanie wywołań usług Azure Communication Services.
- Identyfikator wiadomości SMS: zidentyfikuj wiadomości SMS.
- Krótki identyfikator krótkiego programu kodu: zidentyfikuj krótką aplikację programu kodu.
- Krótki identyfikator kampanii weryfikacyjnej bezpłatnej weryfikacji: zidentyfikuj krótką aplikację kampanii weryfikacji bezpłatnej.
- Identyfikator wiadomości e-mail: zidentyfikuj wysyłanie żądań wiadomości e-mail .
- Identyfikator korelacji: identyfikowanie żądań wysyłanych przy użyciu usługi Call Automation.
- Dzienniki połączeń: użyj szczegółowych informacji, aby rozwiązać problemy z połączeniami i siecią.
Aby uzyskać więcej informacji na temat ograniczania przepustowości i ograniczeń, zobacz Limity usługi.
Uzyskiwanie dostępu do identyfikatora MS-CV
Dostęp do identyfikatora MS-CV można uzyskać, konfigurując diagnostykę w wystąpieniu clientOptions
obiektu podczas inicjowania zestawów SDK. Możesz skonfigurować diagnostykę dla dowolnego zestawu Azure SDK, w tym czatu, tożsamości i wywołania voIP.
Przykład opcji klienta
Poniższe fragmenty kodu pokazują konfigurację diagnostyki. Po włączeniu diagnostyki zestawów SDK szczegóły diagnostyki są emitowane do skonfigurowanego odbiornika zdarzeń.
// 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) });
Używanie identyfikatorów dostępu do usługi Call Automation
W przypadku rozwiązywania problemów z zestawem SDK automatyzacji wywołań, takich jak zarządzanie wywołaniami lub problemy z rejestrowaniem, należy zebrać identyfikatory, które pomagają zidentyfikować nieudane wywołanie lub operację. Możesz podać jeden z następujących dwóch identyfikatorów:
Z nagłówka odpowiedzi interfejsu API. Znajdź pole
X-Ms-Skype-Chain-Id
.Zdarzeń wywołania zwrotnego odbieranych przez aplikację po uruchomieniu akcji. Na przykład użyj polecenia
CallConnected
lubPlayFailed
, aby zlokalizować identyfikator korelacji..
Oprócz jednego z tych identyfikatorów należy podać szczegółowe informacje o przypadku niepowodzenia użycia i sygnaturę czasową, gdy wystąpił błąd.
Uzyskiwanie dostępu do identyfikatora wywołania klienta
Podczas rozwiązywania problemów z połączeniami głosowym lub wideo może być konieczne podanie elementu call ID
. Uzyskaj dostęp do tej wartości za pośrednictwem id
właściwości call
obiektu.
// `call` is an instance of a call created by `callAgent.startCall` or `callAgent.join` methods
console.log(call.id)
Uzyskiwanie dostępu do identyfikatora wiadomości SMS
W przypadku problemów z wiadomością SMS można zebrać identyfikator wiadomości z obiektu odpowiedzi.
// 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
}
Uzyskiwanie dostępu do krótkiego identyfikatora krótkiego programu kodu
Znajdź krótki identyfikator programu w witrynie Azure Portal w sekcji Krótkie kody .
Uzyskiwanie dostępu do krótkiego identyfikatora kampanii weryfikacji bezpłatnej
Znajdź krótki identyfikator programu w witrynie Azure Portal w sekcji Dokumenty regulacyjne.
Uzyskiwanie dostępu do identyfikatora operacji poczty e-mail
Podczas rozwiązywania problemów ze stanem wysyłania wiadomości e-mail lub żądaniami stanu wiadomości e-mail może być konieczne podanie identyfikatora operacji. Możesz uzyskać dostęp do tej wartości w odpowiedzi.
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}");
Uzyskiwanie dostępu do plików pomocy technicznej w zestawie SDK wywołującym
Zestaw SDK wywołujący udostępnia wygodne metody uzyskiwania dostępu do plików dziennika. Te pliki mogą pomóc specjalistom i inżynierom pomocy technicznej firmy Microsoft. Zalecamy zbieranie tych dzienników podczas wykrywania problemu.
Włączanie i uzyskiwanie dostępu do dzienników wywołań
Dowiedz się, jak włączyć dzienniki wywołań i uzyskać do nie dostępu.
JavaScript
Zestaw SDK wywołujący usługi Azure Communication Services opiera się wewnętrznie na bibliotece @azure/rejestratora w celu kontrolowania rejestrowania.
setLogLevel
Użyj metody z @azure/logger
pakietu, aby skonfigurować poziom danych wyjściowych dziennika. Utwórz rejestrator i przekaż go do konstruktora CallClient
.
import { setLogLevel, createClientLogger, AzureLogger } from '@azure/logger';
setLogLevel('verbose');
let logger = createClientLogger('ACS');
const callClient = new CallClient({ logger });
Możesz użyć AzureLogger
polecenia , aby przekierować dane wyjściowe rejestrowania z zestawów SDK platformy Azure, przesłaniając metodę AzureLogger.log
.
Możesz zalogować się do konsoli przeglądarki, pliku lub buforu. Możesz również wysłać do własnej usługi. Jeśli zamierzasz wysyłać dzienniki za pośrednictwem sieci do własnej usługi, nie wysyłaj żądania na wiersz dziennika, ponieważ ta metoda niekorzystnie wpływa na wydajność przeglądarki. Zamiast tego kumuluj wiersze dzienników i wysyłaj je w partiach.
// Redirect log output
AzureLogger.log = (...args) => {
// To console, file, buffer, REST API, etc...
console.log(...args);
};
Natywny zestaw SDK (Android/iOS)
W przypadku systemów Android, iOS i Windows zestaw SDK wywołujący usługi Azure Communication Services oferuje dostęp do plików dziennika.
Aby uzyskać informacje na temat wywoływania natywnych zestawów SDK, zobacz samouczek dotyczący dostępu do plików dziennika.
Biblioteki interfejsu użytkownika (Android, iOS)
Jeśli używasz bibliotek interfejsu użytkownika usług Azure Communication Services dla systemu Android lub iOS, możesz poprosić użytkowników o opinię za pomocą wbudowanego formularza pomocy technicznej.
Aby uzyskać więcej informacji na temat funkcji pomocy technicznej formularza obsługi wywoływania interfejsu użytkownika, zobacz Samouczek dotyczący integracji formularzy pomocy technicznej. W tym artykule pokazano, jak dodać niezbędną procedurę obsługi zdarzeń i utworzyć podstawową implementację klienta/serwera w celu scentralizowanego przechowywania informacji o pomocy technicznej. W tym artykule opisano ścieżkę integracji z usługami pomocy technicznej używanymi przez organizację.
Tworzenie przepływów kompleksowej obsługi w ramach integracji usług ACS
Niezależnie od tego, czy używasz zestawu SDK wywołującego, czy zestawu SDK interfejsu użytkownika wywołującego, zapewnienie obsługi klientom jest kluczowym składnikiem każdej niezawodnej integracji.
Artykuł Zapewnianie pomocy technicznej dla użytkowników wyróżnia kluczowe zagadnienia w każdym punkcie pętli opinii o pomocy technicznej i zawiera punkty szybkiego wyjścia, aby dowiedzieć się więcej.
Znajdź informacje o firmie Microsoft Entra
Skorzystaj z poniższych procedur, aby znaleźć informacje o firmie Microsoft Entra.
Pobieranie identyfikatora katalogu
Aby znaleźć identyfikator katalogu (dzierżawy), wykonaj następujące kroki:
Zaloguj się w witrynie Azure Portal.
W menu usługi wybierz pozycję Microsoft Entra ID.
Na stronie Przegląd w usłudze Microsoft Entra ID skopiuj identyfikator katalogu (identyfikator dzierżawy) i zapisz go w kodzie aplikacji.
Pobieranie identyfikatora aplikacji
Aby znaleźć identyfikator aplikacji, wykonaj następujące kroki:
Zaloguj się w witrynie Azure Portal.
W menu usługi wybierz pozycję Microsoft Entra ID.
W Rejestracje aplikacji w polu Microsoft Entra ID wybierz aplikację.
Skopiuj identyfikator aplikacji (klienta) i zapisz go w kodzie aplikacji.
Identyfikator katalogu (dzierżawy) można również znaleźć na stronie Przegląd aplikacji.
Pobieranie identyfikatora użytkownika
Aby znaleźć identyfikator użytkownika, wykonaj następujące kroki:
Zaloguj się w witrynie Azure Portal.
W menu usługi wybierz pozycję Microsoft Entra ID.
W obszarze Użytkownicy w usłudze Microsoft Entra ID wybierz swojego użytkownika.
Na stronie Profil dla użytkowników firmy Microsoft Entra skopiuj identyfikator obiektu i zapisz go w kodzie aplikacji.
Pobieranie niezmiennego identyfikatora zasobu
Czasami należy również podać niezmienny identyfikator zasobu usług Azure Communication Services. Aby go znaleźć, wykonaj następujące kroki:
Zaloguj się w witrynie Azure Portal.
Otwórz zasób usług Azure Communication Services.
W menu usługi wybierz pozycję Przegląd i przejdź do widoku JSON.
Na stronie Zasób JSON skopiuj
immutableResourceId
wartość i podaj ją zespołowi pomocy technicznej.
Weryfikowanie uprawnień do licencji usługi Teams w celu korzystania z pomocy technicznej usług Azure Communication Services dla użytkowników usługi Teams
Istnieją dwa sposoby weryfikacji uprawnień licencji usługi Teams do korzystania z pomocy technicznej usług Azure Communication Services dla użytkowników usługi Teams.
Weryfikowanie za pośrednictwem klienta internetowego usługi Teams
Aby sprawdzić uprawnienia licencji usługi Teams za pośrednictwem klienta internetowego usługi Teams, wykonaj następujące kroki:
- Otwórz przeglądarkę i przejdź do klienta internetowego usługi Teams.
- Zaloguj się przy użyciu poświadczeń, które mają prawidłową licencję usługi Teams.
- Jeśli uwierzytelnianie zakończy się pomyślnie i pozostaniesz w domenie
https://teams.microsoft.com/
, twoja licencja usługi Teams kwalifikuje się. Jeśli uwierzytelnianie nie powiedzie się lub nastąpi przekierowanie dohttps://teams.live.com/v2/
domeny, licencja usługi Teams nie kwalifikuje się do korzystania z pomocy technicznej usług Azure Communication Services dla użytkowników usługi Teams.
Sprawdzanie bieżącej licencji usługi Teams za pośrednictwem interfejsu API programu Microsoft Graph
Bieżącą licencję usługi Teams można znaleźć przy użyciu licencji LicenseDetails. Interfejs API programu Microsoft Graph zwraca licencje przypisane do użytkownika. Wykonaj następujące kroki, aby wyświetlić licencje przypisane do użytkownika za pomocą narzędzia Graph Explorer.
Otwórz przeglądarkę i przejdź do Eksploratora programu Graph.
Zaloguj się do Eksploratora programu Graph przy użyciu poświadczeń.
W polu zapytania wprowadź następujący interfejs API i wybierz pozycję Uruchom zapytanie.
https://graph.microsoft.com/v1.0/me/licenseDetails
Możesz też wykonać zapytanie dotyczące określonego użytkownika, podając identyfikator użytkownika przy użyciu następującego interfejsu API:
https://graph.microsoft.com/v1.0/users/{id}/licenseDetails
W okienku Podgląd odpowiedzi są wyświetlane dane wyjściowe.
Obiekt odpowiedzi pokazany tutaj może zostać skrócony w celu zapewnienia czytelności.
{ "@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" } ] } ] }
Znajdź szczegóły licencji, w których
servicePlanName
właściwość ma jedną z wartości w tabeli Kwalifikujące się licencje usługi Teams.
Powiązana zawartość
- Rozwiązywanie problemów z błędami wywołań PSTN usług Azure Communication Services.
- Rozwiązywanie problemów z kodami odpowiedzi zakończenia wywołań dla zestawu SDK wywoływania, zestawu SDK usługi Call Automation, pstN, zestawu SDK czatu i zestawu SMS SDK.
- Uzyskiwanie dostępu do dzienników głosowych i wideo, czatów, poczty e-mail, przechodzenia do sieci, nagrywania, wiadomości SMS i automatyzacji połączeń.
- Metryki.
- Limity usług.