Rozwiązywanie problemów w usługach Azure Communication Services
Ten dokument ułatwia rozwiązywanie problemów, które mogą wystąpić w ramach rozwiązania usług komunikacyjnych. Jeśli rozwiązujesz problemy z wiadomością SMS, możesz włączyć raportowanie dostarczania za pomocą usługi Event Grid , aby przechwycić szczegóły dostarczania wiadomości SMS.
Uzyskiwanie pomocy
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: Zidentyfikuj wywołania usług komunikacyjnych.
- 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ń: zawierają szczegółowe informacje, które mogą służyć do rozwiązywania problemów 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 rozmowy, tożsamości i połączeń VoIP.
Przykład opcji klienta
Poniższe fragmenty kodu pokazują konfigurację diagnostyki. Po włączeniu diagnostyki zestawów SDK można emitować szczegóły diagnostyki 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) });
Identyfikatory dostępu wymagane do automatyzacji wywołań
Podczas 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 aplikacja otrzymuje po wykonaniu akcji. Na przykład
CallConnected
lubPlayFailed
znajdź identyfikator correlationID.
Oprócz jednego z tych identyfikatorów należy podać szczegółowe informacje na temat przypadku niepowodzenia użycia i sygnatury czasowej, 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 z wysyłaniem żądań stanu wiadomości e-mail lub wiadomości e-mail może być konieczne podanie adresu operation ID
. Tę wartość można uzyskać 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
Wywoływanie zestawu SDK zapewnia wygodne metody uzyskiwania dostępu do plików dziennika. Te pliki mogą służyć cennym 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ń
[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
w następujący sposób:
import { setLogLevel, createClientLogger, AzureLogger } from '@azure/logger';
setLogLevel('verbose');
let logger = createClientLogger('ACS');
const callClient = new CallClient({ logger });
Usługa AzureLogger umożliwia przekierowanie danych wyjściowych rejestrowania z zestawów SDK platformy Azure przez zastąpienie AzureLogger.log
metody :
Możesz zalogować się do konsoli przeglądarki, pliku, buforu, wysłania do naszej własnej usługi itd. Jeśli zamierzasz wysyłać dzienniki za pośrednictwem sieci do własnej usługi, nie wysyłaj żądania na wiersz dziennika, ponieważ ma to negatywny wpływ 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 samouczki dotyczące 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. Ten dokument przeprowadzi Cię przez proces obsługi zdarzeń niezbędnych i utworzenie podstawowej implementacji klienta/serwera w celu scentralizowanego przechowywania informacji o pomocy technicznej. W tym przewodniku opisano ścieżkę integracji z usługami pomocy technicznej używanymi przez organizację.
Tworzenie pełnych przepływów pomocy technicznej w ramach integracji z usługą ACS
Niezależnie od tego, czy używasz zestawu SDK wywoływania, czy zestawu SDK interfejsu użytkownika wywołującego, zapewnianie pomocy technicznej dla klientów jest kluczowym składnikiem każdej niezawodnej integracji. Poniższy dokument przedstawia najważniejsze zagadnienia w każdym punkcie pętli opinii o pomocy technicznej i zapewnia punkty wyjścia, aby dowiedzieć się więcej.
Zapewnianie pomocy technicznej dla użytkowników
Znajdowanie informacji o usłudze Microsoft Entra
- Uzyskiwanie identyfikatora katalogu
- Uzyskiwanie identyfikatora aplikacji
- Uzyskiwanie identyfikatora użytkownika
Uzyskiwanie identyfikatora katalogu
Aby znaleźć identyfikator katalogu (dzierżawy), wykonaj następujące kroki:
Przejdź do witryny Azure Portal i zaloguj się do witryny Azure Portal przy użyciu poświadczeń.
W okienku po lewej stronie wybierz pozycję Microsoft Entra ID.
Na stronie Przegląd w witrynie Microsoft Entra ID skopiuj identyfikator katalogu (dzierżawy) i zapisz go w kodzie aplikacji.
Uzyskiwanie identyfikatora aplikacji
Aby znaleźć identyfikator aplikacji, wykonaj następujące kroki:
Przejdź do witryny Azure Portal i zaloguj się do witryny Azure Portal przy użyciu poświadczeń.
W okienku po lewej stronie wybierz pozycję Microsoft Entra ID.
W Rejestracje aplikacji w polu Microsoft Entra ID wybierz aplikację.
Skopiuj identyfikator aplikacji i zapisz go w kodzie aplikacji.
Identyfikator katalogu (dzierżawy) można również znaleźć na stronie przeglądu aplikacji.
Uzyskiwanie identyfikatora użytkownika
Aby znaleźć swój identyfikator użytkownika, wykonaj następujące kroki:
Przejdź do witryny Azure Portal i zaloguj się do witryny Azure Portal przy użyciu poświadczeń.
W okienku po lewej stronie wybierz pozycję Microsoft Entra ID.
W obszarze Użytkownicy w usłudze Microsoft Entra ID wybierz swojego użytkownika.
Na stronie Profil w usłudze Microsoft Entra users skopiuj identyfikator obiektu i zapisz go w kodzie aplikacji.
Uzyskiwanie niezmiennego identyfikatora zasobu
Czasami należy również podać niezmienny identyfikator zasobu usługi komunikacji. Aby go znaleźć, wykonaj następujące kroki:
- Przejdź do witryny Azure Portal i zaloguj się do witryny Azure Portal przy użyciu poświadczeń.
- Otwórz zasób usługi Communication Service.
- W okienku po lewej stronie wybierz pozycję Przegląd i przejdź do widoku JSON
- Na stronie Resource JSON skopiuj
immutableResourceId
wartość i podaj ją zespołowi pomocy technicznej.
Weryfikacja uprawnień licencji usługi Teams do 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:
- Weryfikacja za pośrednictwem klienta internetowego usługi Teams
- Sprawdzanie bieżącej licencji usługi Teams za pośrednictwem interfejsu API programu Microsoft Graph
Weryfikacja 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 https://teams.microsoft.com/ domenie, twoja licencja usługi Teams kwalifikuje się. Jeśli uwierzytelnianie nie powiedzie się lub nastąpi przekierowanie do https://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 interfejsu API programu Microsoft Graph licenseDetails , który 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, a następnie kliknij 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
Okienko Podgląd odpowiedzi wyświetla dane wyjściowe w następujący sposób:
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 właściwość
servicePlanName
ma jedną z wartości w tabeli Kwalifikujące się licencje usługi Teams
Powiązane artykuły
- 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.